diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c1f9643..6c547b54 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,19 +8,26 @@ on: jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-24.04 env: - GF_VERSION: 3.10-1 + GF_VERSION: 3.12 DEST: gf-rgl-${{ github.event.inputs.tag }} steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 + + - name: Download GF + uses: dsaltares/fetch-gh-release-asset@1.1.1 + with: + repo: 'GrammaticalFramework/gf-core' + version: 'tags/release-${{ env.GF_VERSION }}' + file: 'gf-${{ env.GF_VERSION }}-ubuntu-24.04.deb' + token: ${{ secrets.GITHUB_TOKEN }} - name: Install GF run: | - curl -s https://www.grammaticalframework.org/download/gf_${GF_VERSION}_amd64.deb -o gf.deb - sudo dpkg -i gf.deb + sudo dpkg -i gf-${GF_VERSION}-ubuntu-24.04.deb - name: Build RGL run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 251055ec..9a270764 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,26 +6,26 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 env: - GF_VERSION: 3.11 + GF_VERSION: 3.12 DEST: gf-rgl steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Download GF uses: dsaltares/fetch-gh-release-asset@1.1.1 with: repo: 'GrammaticalFramework/gf-core' - version: 'tags/${{ env.GF_VERSION }}' - file: 'gf-${{ env.GF_VERSION }}-ubuntu-20.04.deb' + version: 'tags/release-${{ env.GF_VERSION }}' + file: 'gf-${{ env.GF_VERSION }}-ubuntu-24.04.deb' token: ${{ secrets.GITHUB_TOKEN }} - name: Install GF run: | - sudo dpkg -i gf-${GF_VERSION}-ubuntu-20.04.deb + sudo dpkg -i gf-${GF_VERSION}-ubuntu-24.04.deb - name: Build RGL run: | diff --git a/Config.hs b/Config.hs index b671eacb..07350748 100644 --- a/Config.hs +++ b/Config.hs @@ -25,6 +25,7 @@ data LangInfo = LangInfo , langSymbolic :: Bool , langCompatibility :: Bool , langSynopsis :: Bool -- ^ include in RGL synopsis + , langMorphodict :: Bool } deriving (Show,Eq) -- | Load language information from default config file @@ -55,6 +56,7 @@ loadLangsFrom configFile = do , langSymbolic = boolBit bits 8 True , langCompatibility = boolBit bits 9 False , langSynopsis = boolBit bits 10 False + , langMorphodict = boolBit bits 11 False } -- | Separate a string on a character diff --git a/Makefile b/Makefile index 50c3b493..cae50da4 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ default: build copy build: src/*/*.gf ifneq (, $(RUNGHC)) $(RUNGHC) build + $(RUNGHC) build morphodict else ./Setup.sh endif @@ -26,6 +27,7 @@ endif copy: ifneq (, $(RUNGHC)) $(RUNGHC) copy + $(RUNGHC) copy morphodict endif install: build copy diff --git a/Setup.hs b/Setup.hs index 2227ccb2..d1203b7f 100644 --- a/Setup.hs +++ b/Setup.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE CPP #-} +{-# LANGUAGE CPP, LambdaCase #-} -- | Main build script for RGL @@ -150,11 +150,12 @@ getRGLBuildSubDir mode = case mode of Present -> "present" AllTenses -> "alltenses" + MorphoDict -> "morphodict" ------------------------------------------------------------------------------- -- Build modes -data Mode = Present | AllTenses +data Mode = Present | AllTenses | MorphoDict deriving (Show,Eq) all_modes :: [String] @@ -187,6 +188,7 @@ rglCommands = , RGLCommand "lang" False $ gfcp [l,s] , RGLCommand "api" False $ gfcp [t,sc] , RGLCommand "compat" False $ gfcp [c] + , RGLCommand "morphodict" False $ gfcp [m] -- Special command, invoked when command ends in .gf , RGLCommand "modules" False $ \modes args bi -> do @@ -223,14 +225,20 @@ rglCommands = s mode args = (symbol,optml mode langTry args) c mode args = (compat,optml AllTenses langCompatibility args) t mode args = (try,optml mode langTry args) + m mode args = (morphodict,optml mode langMorphodict args) sc mode args = (symbolic,optml mode langSymbolic args) optml :: Mode -> (LangInfo -> Bool) -> [String] -> ([LangInfo] -> [LangInfo]) optml mode pred args = \langsAll -> - let langsDefault = filter (if mode == Present then langPresent else const True) (filter pred langsAll) + let langsDefault = filter (mode2langinfo mode) (filter pred langsAll) in getOptLangs langsAll langsDefault args + mode2langinfo = \case + Present -> langPresent + MorphoDict -> langMorphodict + _ -> const True + ------------------------------------------------------------------------------- -- Getting module paths/names @@ -260,6 +268,9 @@ syntax l = sourceDir "api" ("Syntax" ++ langCode l ++ ".gf") symbolic :: LangInfo -> FilePath symbolic l = sourceDir "api" ("Symbolic" ++ langCode l ++ ".gf") +morphodict :: LangInfo -> FilePath +morphodict l = sourceDir "morphodict" ("MorphoDict" ++ langCode l ++ ".gf") + ------------------------------------------------------------------------------- -- Argument helpers @@ -302,8 +313,9 @@ getOptMode args = else explicit_modes where explicit_modes = - [Present|have "present"]++ - [AllTenses|have "alltenses"] + [Present | have "present"] ++ + [AllTenses | have "alltenses"] ++ + [MorphoDict | have "morphodict"] have mode = mode `elem` args -- | List of languages overriding the default definitions @@ -366,8 +378,8 @@ gfcn :: Info -> Mode -> String -> [FilePath] -> IO () gfcn bi mode summary files = do let dir = getRGLBuildDir bi mode preproc = case mode of - Present -> "--preproc=mkPresent" - AllTenses -> "" + Present -> "--preproc=mkPresent" + _ -> "" createDirectoryIfMissing True dir if length files > 0 then do diff --git a/Setup.sh b/Setup.sh index 3f2c2a97..7b99fb47 100755 --- a/Setup.sh +++ b/Setup.sh @@ -59,6 +59,7 @@ gfc="${gf} --batch --quiet --gf-lib-path=${dist}" mkdir -p "${dist}/prelude" mkdir -p "${dist}/present" mkdir -p "${dist}/alltenses" +mkdir -p "${dist}/morphodict" # Build: prelude echo "Building [prelude]" @@ -68,6 +69,7 @@ ${gfc} --gfo-dir="${dist}"/prelude "${src}"/prelude/*.gf # Gather all language modules for building modules_present= modules_alltenses= +modules_morphodict= for lang in $langs; do for mod in $modules_langs $modules_api; do if [ $mod == "Compatibility" ] && [[ "$langs_compat" != *"$lang"* ]]; then continue; fi @@ -80,8 +82,12 @@ for lang in $langs; do modules_alltenses="${modules_alltenses} ${file}" done done + file="${src}/morphodict/MorphoDict${lang}.gf" + if [ ! -f "$file" ]; then continue; fi + modules_morphodict="${modules_morphodict} ${file}" done + # Build: present echo "Building [present]" if [ $verbose = true ]; then echo $modules_present; fi @@ -96,6 +102,13 @@ for module in $modules_alltenses; do ${gfc} --no-pmcfg --gfo-dir="${dist}"/alltenses "${module}" done +# Build: morphodict +echo "Building [morphodict]" +if [ $verbose = true ]; then echo $modules_morphodict; fi +for module in $modules_morphodict; do + ${gfc} --no-pmcfg --gfo-dir="${dist}"/morphodict "${module}" +done + # Copy if [ $dest == $dist ]; then exit 0; fi echo "Copying to ${dest}" diff --git a/languages.csv b/languages.csv index e7787c3e..e5adb275 100644 --- a/languages.csv +++ b/languages.csv @@ -1,58 +1,64 @@ -Code,Name,Directory,Functor,Unlexer,Present,All,Try,Symbolic,Compatibility,Synopsis -Afr,Afrikaans,afrikaans,,,,,,n,,y -Amh,Amharic,amharic,,,,,n,n,,n -Ara,Arabic,arabic,,,,,,y,,y -Bul,Bulgarian,bulgarian,,,y,,,,,y -Cat,Catalan,catalan,Romance,,y,,,,y,y -Cgg,Rukiga,rukiga,,,y,y,n,n,y,y -Chi,Chinese (simplified),chinese,,,,,,,,y -Cze,Czech,czech,,,,,,n,,y -Dan,Danish,danish,Scand,,y,,,,,y -Dut,Dutch,dutch,,,y,,,,,y -Eng,English,english,,,y,,,,y,y -Est,Estonian,estonian,,,,,,,,y -Eus,Basque,basque,,,,,,,,y -Fin,Finnish,finnish,,,y,,,,y,y -Fre,French,french,Romance,,y,,,,y,y -Ger,German,german,,,y,,,,,y -Grc,Ancient Greek,ancient_greek,,,y,,n,n,,n -Gre,Greek,greek,,,,,,,,y -Heb,Hebrew,hebrew,,,,,n,n,,n -Hin,Hindi,hindi,Hindustani,to_devanagari,y,,,,,y -Hrv,Croatian,croatian,,,,,,y,,n -Hun,Hungarian,hungarian,,,n,y,y,y,n,n -Ice,Icelandic,icelandic,,,,,,n,,y -Ina,Interlingua,interlingua,,,y,,n,n,,n -Ita,Italian,italian,Romance,,y,,,,y,y -Jpn,Japanese,japanese,,,,,,,,y -Kaz,Kazakh,kazakh,,,,y,n,n,n,y -Kor,Korean,korean,,,n,y,y,y,n,n -Lat,Latin,latin,,,,,y,y,n,y -Lav,Latvian,latvian,,,,,,,y,y -Mkd,Macedonian,macedonian,,,,y,n,n,n,y -May,Malay,malay,,,y,,,,n,y -Mlt,Maltese,maltese,,,,,,,,y -Mon,Mongolian,mongolian,,,,,,n,,y -Nep,Nepali,nepali,,,,,,n,,y -Nno,Norwegian (nynorsk),nynorsk,,,y,,,,,y -Nor,Norwegian (bokmål),norwegian,Scand,,y,,,,,y -Pes,Persian,persian,,,,,,,,y -Pnb,Punjabi,punjabi,,,y,,,,,y -Pol,Polish,polish,,,,,,,,y -Por,Portuguese,portuguese,Romance,,y,,,,y,y -Ron,Romanian,romanian,,,y,,,,,y -Rus,Russian,russian,,,y,,,,,y -Slo,Slovak,slovak,,,,,,n,,y -Slv,Slovenian,slovenian,,,,,n,n,,n -Snd,Sindhi,sindhi,,,,,,,,y -Spa,Spanish,spanish,Romance,,y,,,,y,y -Sqi,Albanian,albanian,,,,y,n,n,n,y -Swa,Swahili,swahili,Bantu,,,y,n,n,n,n -Swe,Swedish,swedish,Scand,,y,,,,y,y -Tam,Tamil,tamil,n,n,n,n,n,n,n,n -Tel,Telugu,telugu,,,y,n,n,n,,n -Tha,Thai,thai,,to_thai,,,,,,y -Tur,Turkish,turkish,,,y,,,n,,n -Urd,Urdu,urdu,Hindustani,,,,,,,y -Som,Somali,somali,,,,,n,n,,n -Zul,Zulu,zulu,,,,,n,n,,n +Code,Name,Directory,Functor,Unlexer,Present,All,Try,Symbolic,Compatibility,Synopsis,MorphoDict +Afr,Afrikaans,afrikaans,,,,,,n,,y,n +Amh,Amharic,amharic,,,,,n,n,,n,n +Ara,Arabic,arabic,,,,,,y,,y,y +Bel,Belarusian,belarusian,,,,y,n,n,n,y,n +Bul,Bulgarian,bulgarian,,,y,,,,,y,n +Cat,Catalan,catalan,Romance,,y,,,,y,y,n +Cgg,Rukiga,rukiga,,,y,y,n,n,y,y,n +Chi,Chinese (simplified),chinese,,,,,,,,y,y +Cze,Czech,czech,,,,,,n,,y,n +Dan,Danish,danish,Scand,,y,,,,,y,n +Dut,Dutch,dutch,,,y,,,,,y,n +Eng,English,english,,,y,,,,y,y,y +Est,Estonian,estonian,,,,,,,,y,n +Eus,Basque,basque,,,,,,,,y,n +Fao,Faroese,faroese,,,,y,n,n,n,y,n +Fin,Finnish,finnish,,,y,,,,y,y,y +Fre,French,french,Romance,,y,,,,y,y,y +Gla,Gaelic,gaelic,,,,y,n,n,n,y,n +Ger,German,german,,,y,,,,,y,y +Grc,Ancient Greek,ancient_greek,,,y,,n,n,,n,n +Gre,Greek,greek,,,,,,,,y,n +Heb,Hebrew,hebrew,,,,,n,n,,n,n +Hin,Hindi,hindi,Hindustani,to_devanagari,y,,,,,y,n +Hrv,Croatian,croatian,,,,,,y,,n,n +Hun,Hungarian,hungarian,,,n,y,y,y,n,n,n +Hye,Armenian,armenian,,,,y,n,n,n,y,n +Ice,Icelandic,icelandic,,,,,,n,,y,n +Ina,Interlingua,interlingua,,,y,,n,n,,n,n +Ita,Italian,italian,Romance,,y,,,,y,y,y +Jpn,Japanese,japanese,,,,,,,,y,n +Kaz,Kazakh,kazakh,,,,y,n,n,n,y,n +Kor,Korean,korean,,,n,y,y,y,n,n,n +Lat,Latin,latin,,,,,y,y,n,y,n +Lav,Latvian,latvian,,,,,,,y,y,n +Mkd,Macedonian,macedonian,,,,y,n,n,n,y,n +May,Malay,malay,,,y,,,,n,y,n +Mlt,Maltese,maltese,,,,,,,,y,n +Mon,Mongolian,mongolian,,,,,,n,,y,n +Nep,Nepali,nepali,,,,,,n,,y,n +Nno,Norwegian (nynorsk),nynorsk,,,y,,,,,y,n +Nor,Norwegian (bokmål),norwegian,Scand,,y,,,,,y,n +Pes,Persian,persian,,,,,,,,y,n +Pnb,Punjabi,punjabi,,,y,,,,,y,n +Pol,Polish,polish,,,,,,,,y,n +Por,Portuguese,portuguese,Romance,,y,,,,y,y,y +Ron,Romanian,romanian,,,y,,,,,y,n +Rus,Russian,russian,,,y,,,,,y,n +Slo,Slovak,slovak,,,,,,n,,y,n +Slv,Slovenian,slovenian,,,,,n,n,,n,n +Snd,Sindhi,sindhi,,,,,,,,y,n +Spa,Spanish,spanish,Romance,,y,,,,y,y,y +Sqi,Albanian,albanian,,,,y,n,n,n,y,n +Sco,Scots,scots,,,y,,,,,y,n +Swa,Swahili,swahili,Bantu,,,y,n,n,n,n,n +Swe,Swedish,swedish,Scand,,y,,,,y,y,y +Tam,Tamil,tamil,n,n,n,n,n,n,n,n,n +Tel,Telugu,telugu,,,y,n,n,n,,n,n +Tha,Thai,thai,,to_thai,,,,,,y,n +Tur,Turkish,turkish,,,y,,,n,,n,n +Ukr,Ukrainian,ukrainian,,,,y,n,n,n,y,n +Urd,Urdu,urdu,Hindustani,,,,,,,y,n +Som,Somali,somali,,,,,n,n,,n,n +Zul,Zulu,zulu,,,,,n,n,,n,n diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 892ad7ff..686cc61c 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -299,9 +299,6 @@ fun fun CardCNCard : Card -> CN -> Card ; -- three million, four lakh, six dozen etc -fun - AnaphPron : NP -> Pron ; - fun TPastSimple : Tense ; diff --git a/src/afrikaans/CatAfr.gf b/src/afrikaans/CatAfr.gf index 27b5882a..4137129a 100644 --- a/src/afrikaans/CatAfr.gf +++ b/src/afrikaans/CatAfr.gf @@ -89,4 +89,17 @@ concrete CatAfr of Cat = SN = {s : Sex => NPCase => Str; pl : NPCase => Str} ; LN = {s : Adjf => NPCase => Str ; hasArt : Bool ; n : Number} ; +lindef + VPSlash = \s -> { + s = {s = \\_ => s; prefix = ""; aux = VHebben; vtype = VAct} ; + a1 = \\_ => "" ; + n0 = \\_ => "" ; + n2 = \\_ => "" ; + a2 = "" ; + isAux = False ; + inf = <"",False> ; + ext = "" ; + c2 = "" + } ; + } diff --git a/src/afrikaans/ResAfr.gf b/src/afrikaans/ResAfr.gf index 560a17c5..1aee7656 100644 --- a/src/afrikaans/ResAfr.gf +++ b/src/afrikaans/ResAfr.gf @@ -315,7 +315,7 @@ param --2 Transformations between parameter types - oper Agr : Type = {g : Gender ; n : Number ; p : Person} ; + oper Agr : PType = {g : Gender ; n : Number ; p : Person} ; oper agrP3 : Number -> Agr = agrgP3 Neutr ; diff --git a/src/albanian/CatSqi.gf b/src/albanian/CatSqi.gf index b029edc3..781976d3 100644 --- a/src/albanian/CatSqi.gf +++ b/src/albanian/CatSqi.gf @@ -1,25 +1,61 @@ -concrete CatSqi of Cat = CommonX ** open ParamX, Prelude, ResSqi in { - -lincat N = Noun ; -lincat N2 = Noun ** {c2 : Compl} ; -lincat N3 = Noun ** {c2,c3 : Compl} ; -lincat A = Adj ; -lincat A2 = Adj ** {c2 : Compl} ; -lincat V, VA, VV, VS, VQ = Verb ; -lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ; -lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; -lincat Prep = Compl ; - -lincat Numeral = {s : Str} ; -lincat Digits = {s : Str; n : Number; tail : DTail} ; -lincat Decimal = {s : Str; n : Number; hasDot : Bool} ; - -lincat AP = {s: Species => Case => Gender => Number => Str} ; -lincat CN = Noun ; -lincat Num = {s : Str; n : Number} ; -lincat Quant = {s : Case => Gender => Number => Str; spec : Species} ; -lincat Det = {s : Case => Gender => Str; spec : Species; n : Number} ; -lincat NP = {s: Case => Str; a : Agr} ; -lincat Pron = {s: Case => Str; acc_clit, dat_clit : Str; a : Agr} ; - +concrete CatSqi of Cat = CommonX ** open ParamX,Prelude,ResSqi in { + lincat A = Adj ; + lincat A2 = Adj ** {c2 : Compl} ; + lincat V, VA, VV, VS, VQ = Verb ; + lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ; + lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; + lincat Prep = Compl ; + lincat ACard = {s : Str} ; + lincat AP = {s : Species => Case => Gender => Number => Str} ; + lincat CN = Noun ; + lincat Card = {s : Str} ; + lincat Cl = {s : Str} ; + lincat ClSlash = {s : Str} ; + lincat Comp = {s : Str} ; + lincat Conj = {s : Str} ; + lincat DAP = {s : Str} ; + lincat Decimal = {s : Str; n : Number; hasDot : Bool} ; + lincat Det = {s : Case => Gender => Str; spec : Species; n : Number} ; + lincat Digits = {s : Str; n : Number; tail : DTail} ; + lincat GN = {s : Str} ; + lincat IComp = {s : Str} ; + lincat IDet = {s : Str} ; + lincat IP = {s : Str} ; + lincat IQuant = {s : Str} ; + lincat Imp = {s : Str} ; + lincat LN = {s : Str} ; + lincat N = Noun ; + lincat N2 = {s : Species => Case => Number => Str; g : Gender; + c2 : {s : Str}} ; + lincat N3 = {s : Species => Case => Number => Str; g : Gender; + c2 : {s : Str}; c3 : {s : Str}} ; + lincat NP = {s : Case => Str; a : Agr} ; + lincat Num = {s : Str; n : Number} ; + lincat Numeral = {s : Str} ; + lincat Ord = {s : Str} ; + lincat PN = {s : Str} ; + lincat Predet = {s : Str} ; + lincat Pron = {s: Case => Str; acc_clit, dat_clit : Str; a : Agr} ; + lincat QCl = {s : Str} ; + lincat QS = {s : Str} ; + lincat Quant = {s : Case => Gender => Number => Str; spec : Species} ; + lincat RCl = {s : Str} ; + lincat RP = {s : Str} ; + lincat RS = {s : Str} ; + lincat S = {s : Str} ; + lincat SN = {s : Str} ; + lincat SSlash = {s : Str} ; + lincat Subj = {s : Str} ; + lincat VP = {indicative : Tense => Number => Person => Case => Str; + participle : Case => Str; + pres_optative : Number => Person => Case => Str; + perf_optative : Number => Person => Case => Str; + pres_admirative : Number => Person => Case => Str; + imperf_admirative : Number => Person => Case => Str} ; + lincat VPSlash = {indicative : Tense => Number => Person => Str; + imperative : Number => Str; participle : Str; + pres_optative : Number => Person => Str; + perf_optative : Number => Person => Str; + pres_admirative : Number => Person => Str; + imperf_admirative : Number => Person => Str} ; } diff --git a/src/albanian/DocumentationSqi.gf b/src/albanian/DocumentationSqi.gf index ba5c8d78..a6af5f39 100644 --- a/src/albanian/DocumentationSqi.gf +++ b/src/albanian/DocumentationSqi.gf @@ -51,32 +51,32 @@ lin InflectionV = \x -> { t="fl" ; s1=heading1 "Folje" ; s2=frameTable ( - tr (intagAttr "th" "rowspan=\"24\"" "Indicative" ++ intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.Indicative ! Pres ! Sg ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Pres ! Sg ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Pres ! Sg ! P3)) ++ - tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.Indicative ! Pres ! Pl ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Pres ! Pl ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Pres ! Pl ! P3)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Past" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.Indicative ! Past ! Sg ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Past ! Sg ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Past ! Sg ! P3)) ++ - tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.Indicative ! Past ! Pl ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Past ! Pl ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Past ! Pl ! P3)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Aorist" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.Indicative ! Aorist ! Sg ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Aorist ! Sg ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Aorist ! Sg ! P3)) ++ - tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.Indicative ! Aorist ! Pl ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Aorist ! Pl ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Aorist ! Pl ! P3)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Imperfect" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.Indicative ! Imperfect ! Sg ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Imperfect ! Sg ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Imperfect ! Sg ! P3)) ++ - tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.Indicative ! Imperfect ! Pl ! P1)) ++ - tr (th "P2" ++ td (x.Indicative ! Imperfect ! Pl ! P2)) ++ - tr (th "P3" ++ td (x.Indicative ! Imperfect ! Pl ! P3)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "Imperative" ++ th "Sg" ++ td (x.Imperative ! Sg)) ++ - tr (th "Pl" ++ td (x.Imperative ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"24\"" "Indicative" ++ intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.indicative ! Pres ! Sg ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Pres ! Sg ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Pres ! Sg ! P3)) ++ + tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.indicative ! Pres ! Pl ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Pres ! Pl ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Pres ! Pl ! P3)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Past" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.indicative ! Past ! Sg ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Past ! Sg ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Past ! Sg ! P3)) ++ + tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.indicative ! Past ! Pl ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Past ! Pl ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Past ! Pl ! P3)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Aorist" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.indicative ! Aorist ! Sg ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Aorist ! Sg ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Aorist ! Sg ! P3)) ++ + tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.indicative ! Aorist ! Pl ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Aorist ! Pl ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Aorist ! Pl ! P3)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Imperfect" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.indicative ! Imperfect ! Sg ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Imperfect ! Sg ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Imperfect ! Sg ! P3)) ++ + tr (intagAttr "th" "rowspan=\"3\"" "Pl" ++ th "P1" ++ td (x.indicative ! Imperfect ! Pl ! P1)) ++ + tr (th "P2" ++ td (x.indicative ! Imperfect ! Pl ! P2)) ++ + tr (th "P3" ++ td (x.indicative ! Imperfect ! Pl ! P3)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "Imperative" ++ th "Sg" ++ td (x.imperative ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Pl)) ++ tr (th "participle" ++ td (x.participle)) ++ tr (intagAttr "th" "rowspan=\"6\"" "pres_optative" ++ intagAttr "th" "rowspan=\"3\"" "Sg" ++ th "P1" ++ td (x.pres_optative ! Sg ! P1)) ++ tr (th "P2" ++ td (x.pres_optative ! Sg ! P2)) ++ diff --git a/src/albanian/MorphoSqi.gf b/src/albanian/MorphoSqi.gf index 580d43ee..ab9895e1 100644 --- a/src/albanian/MorphoSqi.gf +++ b/src/albanian/MorphoSqi.gf @@ -27570,7 +27570,7 @@ mkA036 base = mkV001 : Str -> V ; mkV001 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -27620,7 +27620,7 @@ mkV001 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -27679,7 +27679,7 @@ mkV002 : Str -> V ; mkV002 base = case base of { base_1+"ta" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ta" ; @@ -27729,7 +27729,7 @@ mkV002 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -27790,7 +27790,7 @@ mkV003 : Str -> V ; mkV003 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -27840,7 +27840,7 @@ mkV003 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -27901,7 +27901,7 @@ mkV004 : Str -> V ; mkV004 base = case base of { base_1+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"s" ; @@ -27951,7 +27951,7 @@ mkV004 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28012,7 +28012,7 @@ mkV005 : Str -> V ; mkV005 base = case base of { base_1+base_2@?+"l" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"l" ; @@ -28062,7 +28062,7 @@ mkV005 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28122,7 +28122,7 @@ mkV005 base = mkV006 : Str -> V ; mkV006 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -28172,7 +28172,7 @@ mkV006 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28230,7 +28230,7 @@ mkV006 base_1 = mkV007 : Str -> V ; mkV007 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -28280,7 +28280,7 @@ mkV007 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28338,7 +28338,7 @@ mkV007 base_1 = mkV008 : Str -> V ; mkV008 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -28388,7 +28388,7 @@ mkV008 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28447,7 +28447,7 @@ mkV009 : Str -> V ; mkV009 base = case base of { base_1+"n" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"n" ; @@ -28497,7 +28497,7 @@ mkV009 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28558,7 +28558,7 @@ mkV010 : Str -> V ; mkV010 base = case base of { base_1+"i"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2 ; @@ -28608,7 +28608,7 @@ mkV010 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28669,7 +28669,7 @@ mkV011 : Str -> V ; mkV011 base = case base of { base_1+"e" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"e" ; @@ -28719,7 +28719,7 @@ mkV011 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28780,7 +28780,7 @@ mkV012 : Str -> V ; mkV012 base = case base of { "t"+base_1 => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "t"+base_1 ; @@ -28830,7 +28830,7 @@ mkV012 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28890,7 +28890,7 @@ mkV012 base = mkV013 : Str -> V ; mkV013 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -28940,7 +28940,7 @@ mkV013 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -28998,7 +28998,7 @@ mkV013 base_1 = mkV014 : Str -> V ; mkV014 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -29048,7 +29048,7 @@ mkV014 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29107,7 +29107,7 @@ mkV015 : Str -> V ; mkV015 base = case base of { base_1+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"s" ; @@ -29157,7 +29157,7 @@ mkV015 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29218,7 +29218,7 @@ mkV016 : Str -> V ; mkV016 base = case base of { base_1+"o"+base_2@?+"a" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"o"+base_2+"a" ; @@ -29268,7 +29268,7 @@ mkV016 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29328,7 +29328,7 @@ mkV016 base = mkV017 : Str -> V ; mkV017 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -29378,7 +29378,7 @@ mkV017 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29436,7 +29436,7 @@ mkV017 base_1 = mkV018 : Str -> V ; mkV018 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -29486,7 +29486,7 @@ mkV018 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29545,7 +29545,7 @@ mkV019 : Str -> V ; mkV019 base = case base of { base_1+"e"+base_2@?+"r" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"e"+base_2+"r" ; @@ -29595,7 +29595,7 @@ mkV019 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29656,7 +29656,7 @@ mkV020 : Str -> V ; mkV020 base = case base of { base_1+"e"+base_2@?+"e" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"e"+base_2+"e" ; @@ -29706,7 +29706,7 @@ mkV020 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29767,7 +29767,7 @@ mkV021 : Str -> V ; mkV021 base = case base of { base_1+"ie"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ie"+base_2 ; @@ -29817,7 +29817,7 @@ mkV021 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29878,7 +29878,7 @@ mkV022 : Str -> V ; mkV022 base = case base of { base_1+"es" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"es" ; @@ -29928,7 +29928,7 @@ mkV022 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -29989,7 +29989,7 @@ mkV023 : Str -> V ; mkV023 base = case base of { base_1+"as" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"as" ; @@ -30039,7 +30039,7 @@ mkV023 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30100,7 +30100,7 @@ mkV024 : Str -> V ; mkV024 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -30150,7 +30150,7 @@ mkV024 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30211,7 +30211,7 @@ mkV025 : Str -> V ; mkV025 base = case base of { base_1+"y"+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"y"+base_2+"j" ; @@ -30261,7 +30261,7 @@ mkV025 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30322,7 +30322,7 @@ mkV026 : Str -> V ; mkV026 base = case base of { base_1+"e"+base_2@(?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"e"+base_2 ; @@ -30372,7 +30372,7 @@ mkV026 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30433,7 +30433,7 @@ mkV027 : Str -> V ; mkV027 base = case base of { base_1+"on" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"on" ; @@ -30483,7 +30483,7 @@ mkV027 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30544,7 +30544,7 @@ mkV028 : Str -> V ; mkV028 base = case base of { base_1+"oj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"oj" ; @@ -30594,7 +30594,7 @@ mkV028 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30654,7 +30654,7 @@ mkV028 base = mkV029 : Str -> V ; mkV029 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -30704,7 +30704,7 @@ mkV029 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30763,7 +30763,7 @@ mkV030 : Str -> V ; mkV030 base = case base of { base_1+"i" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i" ; @@ -30813,7 +30813,7 @@ mkV030 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30874,7 +30874,7 @@ mkV031 : Str -> V ; mkV031 base = case base of { base_1+"i"+base_2@(?+?)+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"em" ; @@ -30924,7 +30924,7 @@ mkV031 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -30985,7 +30985,7 @@ mkV032 : Str -> V ; mkV032 base = case base of { base_1+"u"+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"u"+base_2+"j" ; @@ -31035,7 +31035,7 @@ mkV032 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31095,7 +31095,7 @@ mkV032 base = mkV033 : Str -> V ; mkV033 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -31145,7 +31145,7 @@ mkV033 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31204,7 +31204,7 @@ mkV034 : Str -> V ; mkV034 base = case base of { base_1+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"s" ; @@ -31254,7 +31254,7 @@ mkV034 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31315,7 +31315,7 @@ mkV035 : Str -> V ; mkV035 base = case base of { base_1+"ie" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ie" ; @@ -31365,7 +31365,7 @@ mkV035 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31426,7 +31426,7 @@ mkV036 : Str -> V ; mkV036 base = case base of { base_1+"je"+base_2@("p"|"rdh"|(?+?)) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"je"+base_2 ; @@ -31476,7 +31476,7 @@ mkV036 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31537,7 +31537,7 @@ mkV037 : Str -> V ; mkV037 base = case base of { base_1+"sem" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"sem" ; @@ -31587,7 +31587,7 @@ mkV037 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31648,7 +31648,7 @@ mkV038 : Str -> V ; mkV038 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -31698,7 +31698,7 @@ mkV038 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31759,7 +31759,7 @@ mkV039 : Str -> V ; mkV039 base = case base of { base_1+"i"+base_2@(?+?)+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"em" ; @@ -31809,7 +31809,7 @@ mkV039 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31870,7 +31870,7 @@ mkV040 : Str -> V ; mkV040 base = case base of { base_1+"hem" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"hem" ; @@ -31920,7 +31920,7 @@ mkV040 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -31981,7 +31981,7 @@ mkV041 : Str -> V ; mkV041 base = case base of { base_1+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"em" ; @@ -32031,7 +32031,7 @@ mkV041 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32092,7 +32092,7 @@ mkV042 : Str -> V ; mkV042 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -32142,7 +32142,7 @@ mkV042 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32203,7 +32203,7 @@ mkV043 : Str -> V ; mkV043 base = case base of { base_1+"l"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"l"+base_2 ; @@ -32253,7 +32253,7 @@ mkV043 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32314,7 +32314,7 @@ mkV044 : Str -> V ; mkV044 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -32364,7 +32364,7 @@ mkV044 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32425,7 +32425,7 @@ mkV045 : Str -> V ; mkV045 base = case base of { base_1+"jek" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"jek" ; @@ -32475,7 +32475,7 @@ mkV045 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32536,7 +32536,7 @@ mkV046 : Str -> V ; mkV046 base = case base of { base_1+"i"+base_2@?+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"em" ; @@ -32586,7 +32586,7 @@ mkV046 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32647,7 +32647,7 @@ mkV047 : Str -> V ; mkV047 base = case base of { base_1+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"j" ; @@ -32697,7 +32697,7 @@ mkV047 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32758,7 +32758,7 @@ mkV048 : Str -> V ; mkV048 base = case base of { base_1+"ë"+base_2@(?+?)+"as" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë"+base_2+"as" ; @@ -32808,7 +32808,7 @@ mkV048 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32869,7 +32869,7 @@ mkV049 : Str -> V ; mkV049 base = case base of { base_1+"je"+base_2@("l"|(?+?)) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"je"+base_2 ; @@ -32919,7 +32919,7 @@ mkV049 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -32980,7 +32980,7 @@ mkV050 : Str -> V ; mkV050 base = case base of { base_1+"o"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"o"+base_2 ; @@ -33030,7 +33030,7 @@ mkV050 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33091,7 +33091,7 @@ mkV051 : Str -> V ; mkV051 base = case base of { base_1+"je"+base_2@?+"r" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"je"+base_2+"r" ; @@ -33141,7 +33141,7 @@ mkV051 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33202,7 +33202,7 @@ mkV052 : Str -> V ; mkV052 base = case base of { base_1+"r"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"r"+base_2 ; @@ -33252,7 +33252,7 @@ mkV052 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33313,7 +33313,7 @@ mkV053 : Str -> V ; mkV053 base = case base of { base_1+"i"+base_2@(?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2 ; @@ -33363,7 +33363,7 @@ mkV053 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33424,7 +33424,7 @@ mkV054 : Str -> V ; mkV054 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -33474,7 +33474,7 @@ mkV054 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33535,7 +33535,7 @@ mkV055 : Str -> V ; mkV055 base = case base of { base_1+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"em" ; @@ -33585,7 +33585,7 @@ mkV055 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33646,7 +33646,7 @@ mkV056 : Str -> V ; mkV056 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -33696,7 +33696,7 @@ mkV056 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33757,7 +33757,7 @@ mkV057 : Str -> V ; mkV057 base = case base of { base_1+"n" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"n" ; @@ -33807,7 +33807,7 @@ mkV057 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33868,7 +33868,7 @@ mkV058 : Str -> V ; mkV058 base = case base of { base_1+"sh"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"sh"+base_2 ; @@ -33918,7 +33918,7 @@ mkV058 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -33978,7 +33978,7 @@ mkV058 base = mkV059 : Str -> V ; mkV059 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -34028,7 +34028,7 @@ mkV059 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34087,7 +34087,7 @@ mkV060 : Str -> V ; mkV060 base = case base of { base_1+"je"+base_2@(?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"je"+base_2 ; @@ -34137,7 +34137,7 @@ mkV060 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34198,7 +34198,7 @@ mkV061 : Str -> V ; mkV061 base = case base of { base_1+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"em" ; @@ -34248,7 +34248,7 @@ mkV061 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34308,7 +34308,7 @@ mkV061 base = mkV062 : Str -> V ; mkV062 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -34358,7 +34358,7 @@ mkV062 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34417,7 +34417,7 @@ mkV063 : Str -> V ; mkV063 base = case base of { base_1+"i"+base_2@?+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"em" ; @@ -34467,7 +34467,7 @@ mkV063 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34528,7 +34528,7 @@ mkV064 : Str -> V ; mkV064 base = case base of { base_1+"a"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"a"+base_2 ; @@ -34578,7 +34578,7 @@ mkV064 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34639,7 +34639,7 @@ mkV065 : Str -> V ; mkV065 base = case base of { base_1+"sh"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"sh"+base_2 ; @@ -34689,7 +34689,7 @@ mkV065 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34750,7 +34750,7 @@ mkV066 : Str -> V ; mkV066 base = case base of { "hë"+base_1+"a" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "hë"+base_1+"a" ; @@ -34800,7 +34800,7 @@ mkV066 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34861,7 +34861,7 @@ mkV067 : Str -> V ; mkV067 base = case base of { base_1+"ë"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë"+base_2 ; @@ -34911,7 +34911,7 @@ mkV067 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -34972,7 +34972,7 @@ mkV068 : Str -> V ; mkV068 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -35022,7 +35022,7 @@ mkV068 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35083,7 +35083,7 @@ mkV069 : Str -> V ; mkV069 base = case base of { base_1+"n" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"n" ; @@ -35133,7 +35133,7 @@ mkV069 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35194,7 +35194,7 @@ mkV070 : Str -> V ; mkV070 base = case base of { base_1+"on" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"on" ; @@ -35244,7 +35244,7 @@ mkV070 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35305,7 +35305,7 @@ mkV071 : Str -> V ; mkV071 base = case base of { base_1+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"j" ; @@ -35355,7 +35355,7 @@ mkV071 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35416,7 +35416,7 @@ mkV072 : Str -> V ; mkV072 base = case base of { base_1+base_2@?+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"s" ; @@ -35466,7 +35466,7 @@ mkV072 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35527,7 +35527,7 @@ mkV073 : Str -> V ; mkV073 base = case base of { base_1+"i"+base_2@?+"em" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"em" ; @@ -35577,7 +35577,7 @@ mkV073 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35638,7 +35638,7 @@ mkV074 : Str -> V ; mkV074 base = case base of { base_1+"in" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"in" ; @@ -35688,7 +35688,7 @@ mkV074 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35749,7 +35749,7 @@ mkV075 : Str -> V ; mkV075 base = case base of { base_1+"ë" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë" ; @@ -35799,7 +35799,7 @@ mkV075 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35860,7 +35860,7 @@ mkV076 : Str -> V ; mkV076 base = case base of { base_1+"y"+base_2@(?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"y"+base_2 ; @@ -35910,7 +35910,7 @@ mkV076 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -35971,7 +35971,7 @@ mkV077 : Str -> V ; mkV077 base = case base of { base_1+"y"+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"y"+base_2+"j" ; @@ -36021,7 +36021,7 @@ mkV077 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36082,7 +36082,7 @@ mkV078 : Str -> V ; mkV078 base = case base of { base_1+"et" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"et" ; @@ -36132,7 +36132,7 @@ mkV078 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36193,7 +36193,7 @@ mkV079 : Str -> V ; mkV079 base = case base of { base_1+"y"+base_2@?+"b" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"y"+base_2+"b" ; @@ -36243,7 +36243,7 @@ mkV079 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36304,7 +36304,7 @@ mkV080 : Str -> V ; mkV080 base = case base of { base_1+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"s" ; @@ -36354,7 +36354,7 @@ mkV080 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36415,7 +36415,7 @@ mkV081 : Str -> V ; mkV081 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -36465,7 +36465,7 @@ mkV081 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36526,7 +36526,7 @@ mkV082 : Str -> V ; mkV082 base = case base of { base_1+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"j" ; @@ -36576,7 +36576,7 @@ mkV082 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36637,7 +36637,7 @@ mkV083 : Str -> V ; mkV083 base = case base of { base_1+"e" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"e" ; @@ -36687,7 +36687,7 @@ mkV083 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36748,7 +36748,7 @@ mkV084 : Str -> V ; mkV084 base = case base of { "e"+base_1+"a" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "e"+base_1+"a" ; @@ -36798,7 +36798,7 @@ mkV084 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36859,7 +36859,7 @@ mkV085 : Str -> V ; mkV085 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -36909,7 +36909,7 @@ mkV085 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -36970,7 +36970,7 @@ mkV086 : Str -> V ; mkV086 base = case base of { base_1+"ej" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ej" ; @@ -37020,7 +37020,7 @@ mkV086 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37081,7 +37081,7 @@ mkV087 : Str -> V ; mkV087 base = case base of { base_1+"h"+base_2@?+"ë"+base_3@(?+?)+"as" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"h"+base_2+"ë"+base_3+"as" ; @@ -37131,7 +37131,7 @@ mkV087 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37192,7 +37192,7 @@ mkV088 : Str -> V ; mkV088 base = case base of { "vrokth" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "vrokth" ; @@ -37242,7 +37242,7 @@ mkV088 base = } } } ; - Imperative = table { + imperative = table { Sg => "-" ; Pl => "-" } ; @@ -37303,7 +37303,7 @@ mkV089 : Str -> V ; mkV089 base = case base of { base_1+"ë"+base_2@(?+?)+"as" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë"+base_2+"as" ; @@ -37353,7 +37353,7 @@ mkV089 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37414,7 +37414,7 @@ mkV090 : Str -> V ; mkV090 base = case base of { base_1+base_2@?+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"j" ; @@ -37464,7 +37464,7 @@ mkV090 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37525,7 +37525,7 @@ mkV091 : Str -> V ; mkV091 base = case base of { base_1+"ie"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ie"+base_2 ; @@ -37575,7 +37575,7 @@ mkV091 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37636,7 +37636,7 @@ mkV092 : Str -> V ; mkV092 base = case base of { base_1+"ij" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ij" ; @@ -37686,7 +37686,7 @@ mkV092 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37747,7 +37747,7 @@ mkV093 : Str -> V ; mkV093 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -37797,7 +37797,7 @@ mkV093 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37858,7 +37858,7 @@ mkV094 : Str -> V ; mkV094 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -37908,7 +37908,7 @@ mkV094 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -37969,7 +37969,7 @@ mkV095 : Str -> V ; mkV095 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -38019,7 +38019,7 @@ mkV095 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38080,7 +38080,7 @@ mkV096 : Str -> V ; mkV096 base = case base of { base_1+"ohem" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ohem" ; @@ -38130,7 +38130,7 @@ mkV096 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38191,7 +38191,7 @@ mkV097 : Str -> V ; mkV097 base = case base of { base_1+base_2@?+"hem" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"hem" ; @@ -38241,7 +38241,7 @@ mkV097 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38302,7 +38302,7 @@ mkV098 : Str -> V ; mkV098 base = case base of { base_1+"at"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"at"+base_2 ; @@ -38352,7 +38352,7 @@ mkV098 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38413,7 +38413,7 @@ mkV099 : Str -> V ; mkV099 base = case base of { base_1+"r"+base_2@(?+?+?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"r"+base_2 ; @@ -38463,7 +38463,7 @@ mkV099 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38524,7 +38524,7 @@ mkV100 : Str -> V ; mkV100 base = case base of { base_1+"s" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"s" ; @@ -38574,7 +38574,7 @@ mkV100 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38635,7 +38635,7 @@ mkV101 : Str -> V ; mkV101 base = case base of { base_1+"ua"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ua"+base_2 ; @@ -38685,7 +38685,7 @@ mkV101 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38746,7 +38746,7 @@ mkV102 : Str -> V ; mkV102 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -38796,7 +38796,7 @@ mkV102 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38857,7 +38857,7 @@ mkV103 : Str -> V ; mkV103 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -38907,7 +38907,7 @@ mkV103 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -38968,7 +38968,7 @@ mkV104 : Str -> V ; mkV104 base = case base of { base_1+"on" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"on" ; @@ -39018,7 +39018,7 @@ mkV104 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39079,7 +39079,7 @@ mkV105 : Str -> V ; mkV105 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -39129,7 +39129,7 @@ mkV105 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39190,7 +39190,7 @@ mkV106 : Str -> V ; mkV106 base = case base of { base_1+"ë" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë" ; @@ -39240,7 +39240,7 @@ mkV106 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39301,7 +39301,7 @@ mkV107 : Str -> V ; mkV107 base = case base of { "n"+base_1 => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "n"+base_1 ; @@ -39351,7 +39351,7 @@ mkV107 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39412,7 +39412,7 @@ mkV108 : Str -> V ; mkV108 base = case base of { base_1+"oj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"oj" ; @@ -39462,7 +39462,7 @@ mkV108 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39523,7 +39523,7 @@ mkV109 : Str -> V ; mkV109 base = case base of { base_1+"oj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"oj" ; @@ -39573,7 +39573,7 @@ mkV109 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39634,7 +39634,7 @@ mkV110 : Str -> V ; mkV110 base = case base of { base_1+"ih"+base_2@?+"m" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ih"+base_2+"m" ; @@ -39684,7 +39684,7 @@ mkV110 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39744,7 +39744,7 @@ mkV110 base = mkV111 : Str -> V ; mkV111 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -39794,7 +39794,7 @@ mkV111 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39853,7 +39853,7 @@ mkV112 : Str -> V ; mkV112 base = case base of { base_1+"a"+base_2@(?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"a"+base_2 ; @@ -39903,7 +39903,7 @@ mkV112 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -39964,7 +39964,7 @@ mkV113 : Str -> V ; mkV113 base = case base of { base_1+"ij" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ij" ; @@ -40014,7 +40014,7 @@ mkV113 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40074,7 +40074,7 @@ mkV113 base = mkV114 : Str -> V ; mkV114 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -40124,7 +40124,7 @@ mkV114 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40182,7 +40182,7 @@ mkV114 base_1 = mkV115 : Str -> V ; mkV115 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -40232,7 +40232,7 @@ mkV115 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40291,7 +40291,7 @@ mkV116 : Str -> V ; mkV116 base = case base of { base_1+"hem" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"hem" ; @@ -40341,7 +40341,7 @@ mkV116 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40402,7 +40402,7 @@ mkV117 : Str -> V ; mkV117 base = case base of { base_1+base_2@(?+?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2 ; @@ -40452,7 +40452,7 @@ mkV117 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40513,7 +40513,7 @@ mkV118 : Str -> V ; mkV118 base = case base of { base_1+"ë" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ë" ; @@ -40563,7 +40563,7 @@ mkV118 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40624,7 +40624,7 @@ mkV119 : Str -> V ; mkV119 base = case base of { base_1+"ej" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ej" ; @@ -40674,7 +40674,7 @@ mkV119 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40735,7 +40735,7 @@ mkV120 : Str -> V ; mkV120 base = case base of { base_1+"h"+base_2@(?+?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"h"+base_2 ; @@ -40785,7 +40785,7 @@ mkV120 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40846,7 +40846,7 @@ mkV121 : Str -> V ; mkV121 base = case base of { base_1+"oj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"oj" ; @@ -40896,7 +40896,7 @@ mkV121 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -40957,7 +40957,7 @@ mkV122 : Str -> V ; mkV122 base = case base of { base_1+"âj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"âj" ; @@ -41007,7 +41007,7 @@ mkV122 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41068,7 +41068,7 @@ mkV123 : Str -> V ; mkV123 base = case base of { base_1+"i"+base_2@?+"et" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"i"+base_2+"et" ; @@ -41118,7 +41118,7 @@ mkV123 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41179,7 +41179,7 @@ mkV124 : Str -> V ; mkV124 base = case base of { base_1+"et" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"et" ; @@ -41229,7 +41229,7 @@ mkV124 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41290,7 +41290,7 @@ mkV125 : Str -> V ; mkV125 base = case base of { base_1+base_2@?+"rrtë" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+base_2+"rrtë" ; @@ -41340,7 +41340,7 @@ mkV125 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41401,7 +41401,7 @@ mkV126 : Str -> V ; mkV126 base = case base of { base_1+"ash"+base_2@? => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"ash"+base_2 ; @@ -41451,7 +41451,7 @@ mkV126 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41511,7 +41511,7 @@ mkV126 base = mkV127 : Str -> V ; mkV127 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -41561,7 +41561,7 @@ mkV127 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41620,7 +41620,7 @@ mkV128 : Str -> V ; mkV128 base = case base of { "venj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => "venj" ; @@ -41670,7 +41670,7 @@ mkV128 base = } } } ; - Imperative = table { + imperative = table { Sg => "-" ; Pl => "-" } ; @@ -41731,7 +41731,7 @@ mkV129 : Str -> V ; mkV129 base = case base of { base_1+"n" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"n" ; @@ -41781,7 +41781,7 @@ mkV129 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41842,7 +41842,7 @@ mkV130 : Str -> V ; mkV130 base = case base of { base_1+"nj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"nj" ; @@ -41892,7 +41892,7 @@ mkV130 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -41953,7 +41953,7 @@ mkV131 : Str -> V ; mkV131 base = case base of { base_1+"oj" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"oj" ; @@ -42003,7 +42003,7 @@ mkV131 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -42063,7 +42063,7 @@ mkV131 base = mkV132 : Str -> V ; mkV132 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -42113,7 +42113,7 @@ mkV132 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -42172,7 +42172,7 @@ mkV133 : Str -> V ; mkV133 base = case base of { base_1+"j" => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"j" ; @@ -42222,7 +42222,7 @@ mkV133 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -42282,7 +42282,7 @@ mkV133 base = mkV134 : Str -> V ; mkV134 base_1 = lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1 ; @@ -42332,7 +42332,7 @@ mkV134 base_1 = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; @@ -42391,7 +42391,7 @@ mkV135 : Str -> V ; mkV135 base = case base of { base_1+"r"+base_2@(?+?+?) => lin V - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => base_1+"r"+base_2 ; @@ -42441,7 +42441,7 @@ mkV135 base = } } } ; - Imperative = table { + imperative = table { Sg => nonExist ; Pl => nonExist } ; diff --git a/src/albanian/NounSqi.gf b/src/albanian/NounSqi.gf index c577354b..974efbea 100644 --- a/src/albanian/NounSqi.gf +++ b/src/albanian/NounSqi.gf @@ -8,7 +8,7 @@ concrete NounSqi of Noun = CatSqi ** open MorphoSqi, ResSqi in { a = agrgP3 cn.g det.n } ; - UsePron p = p ; + -- UsePron p = p ; DetQuant quant num = { s = \\c,g => quant.s ! c ! g ! num.n ++ num.s ; @@ -30,7 +30,6 @@ concrete NounSqi of Noun = CatSqi ** open MorphoSqi, ResSqi in { } ; UseN n = n ; - UseN2 n = n ; AdjCN ap cn = { s = \\spec,c,n => cn.s ! spec ! c ! n ++ ap.s ! spec ! c ! cn.g ! n ; diff --git a/src/albanian/NumeralSqi.gf b/src/albanian/NumeralSqi.gf index 13c06c20..20457b40 100644 --- a/src/albanian/NumeralSqi.gf +++ b/src/albanian/NumeralSqi.gf @@ -84,10 +84,4 @@ oper _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - } diff --git a/src/albanian/PhraseSqi.gf b/src/albanian/PhraseSqi.gf index af89ed80..7ebb5544 100644 --- a/src/albanian/PhraseSqi.gf +++ b/src/albanian/PhraseSqi.gf @@ -3,6 +3,7 @@ concrete PhraseSqi of Phrase = CatSqi ** open Prelude, ResSqi in { lin PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + UttS s = s ; UttNP np = {s = np.s ! Nom} ; UttInterj i = i ; diff --git a/src/albanian/ResSqi.gf b/src/albanian/ResSqi.gf index 1dcebbae..bd4a0f38 100644 --- a/src/albanian/ResSqi.gf +++ b/src/albanian/ResSqi.gf @@ -104,10 +104,10 @@ oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Bool -> Adj = param Tense = Pres | Past | Imperfect | Aorist ; -oper Verb = {Indicative: Tense => Number => Person => Str; Imperative: Number => Str; participle: Str; pres_optative: Number => Person => Str; perf_optative: Number => Person => Str; pres_admirative: Number => Person => Str; imperf_admirative: Number => Person => Str} ; -- 758 +oper Verb = {indicative: Tense => Number => Person => Str; imperative: Number => Str; participle: Str; pres_optative: Number => Person => Str; perf_optative: Number => Person => Str; pres_admirative: Number => Person => Str; imperf_admirative: Number => Person => Str} ; -- 758 oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51 -> - { Indicative = table { + { indicative = table { Pres => table { Sg => table { P1 => f1 ; @@ -157,7 +157,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ } } } ; - Imperative = table { + imperative = table { Sg => f25 ; Pl => f26 } ; diff --git a/src/amharic/NumeralAmh.gf b/src/amharic/NumeralAmh.gf index 421227a2..c9c41cf2 100644 --- a/src/amharic/NumeralAmh.gf +++ b/src/amharic/NumeralAmh.gf @@ -109,11 +109,6 @@ lin pot3plus n m = { _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; ------------------ :) what a releif mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o ; diff --git a/src/ancient_greek/ResGrc.gf b/src/ancient_greek/ResGrc.gf index 5e22b3c2..11078570 100644 --- a/src/ancient_greek/ResGrc.gf +++ b/src/ancient_greek/ResGrc.gf @@ -18,7 +18,7 @@ -- Author: Hans Leiß, LMU Munich, CIS -resource ResGrc = ParamX - [Number,Sg,Pl,ImpForm,numImp,Tense,ImpF] +resource ResGrc = ParamX - [Number,Sg,Pl,ImpForm,numImp,Tense,ImpF,inc,DTail] ** open Prelude, PhonoGrc, Predef in { flags optimize = noexpand ; -- optimize=all is impossible with addAccent diff --git a/src/api/CombinatorsSco.gf b/src/api/CombinatorsSco.gf new file mode 100644 index 00000000..e5857436 --- /dev/null +++ b/src/api/CombinatorsSco.gf @@ -0,0 +1,15 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsSco = Combinators - [ appCN, appCNc ] with + (Cat = CatSco), + (Structural = StructuralSco), + (Noun = NounSco), + (Constructors = ConstructorsSco) ** + { + oper + appCN : CN -> NP -> NP + = \cn,x -> mkNP the_Art (PossNP cn x) ; + appCNc : CN -> [NP] -> NP + = \cn,xs -> let np : NP = mkNP and_Conj xs + in mkNP the_Art (PossNP cn np) ; + } diff --git a/src/api/ConstructorsSco.gf b/src/api/ConstructorsSco.gf new file mode 100644 index 00000000..7f7310d5 --- /dev/null +++ b/src/api/ConstructorsSco.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsSco = Constructors with (Grammar = GrammarSco) ; diff --git a/src/api/SymbolicSco.gf b/src/api/SymbolicSco.gf new file mode 100644 index 00000000..4a001888 --- /dev/null +++ b/src/api/SymbolicSco.gf @@ -0,0 +1,5 @@ +--# -path=.:../english:../common:../abstract:../prelude + +resource SymbolicSco = Symbolic with + (Symbol = SymbolSco), + (Grammar = GrammarSco) ; diff --git a/src/api/SyntaxSco.gf b/src/api/SyntaxSco.gf new file mode 100644 index 00000000..544498f6 --- /dev/null +++ b/src/api/SyntaxSco.gf @@ -0,0 +1,5 @@ +--# -path=.:alltenses:prelude + +instance SyntaxSco of Syntax = + ConstructorsSco, CatSco, StructuralSco, CombinatorsSco ; + diff --git a/src/api/TryEus.gf b/src/api/TryEus.gf index 0a0eec2e..00d97ac3 100644 --- a/src/api/TryEus.gf +++ b/src/api/TryEus.gf @@ -1,3 +1,16 @@ --# -path=.:../basque:../common:../abstract:../prelude -resource TryEus = SyntaxEus, LexiconEus, ParadigmsEus - [mkAdv,mkAdN,mkDet,mkQuant,mkPConj] ; +resource TryEus = SyntaxEus-[mkVoc], LexiconEus, ParadigmsEus - [mkAdv,mkAdN,mkDet,mkQuant,mkPConj,mkVoc] ** + open (P = ParadigmsEus) in { + +oper + mkAdv = overload SyntaxEus { + mkAdv : Str -> Adv = P.mkAdv ; + } ; + + mkVoc = overload { + mkVoc : NP -> Voc = SyntaxEus.mkVoc ; + mkVoc : Str -> Voc = P.mkVoc ; + } ; + +} diff --git a/src/api/TryGer.gf b/src/api/TryGer.gf index 9e99c3be..b387bfd8 100644 --- a/src/api/TryGer.gf +++ b/src/api/TryGer.gf @@ -1,3 +1,3 @@ --# -path=.:../german:../common:../abstract:../prelude -resource TryGer = SyntaxGer, ExtraGer, LexiconGer, ParadigmsGer - [mkAdv], MakeStructuralGer ; +resource TryGer = SyntaxGer, ExtraGer, LexiconGer, ParadigmsGer - [mkAdv,mkIAdv], MakeStructuralGer ; diff --git a/src/api/TryHun.gf b/src/api/TryHun.gf index 2674f64c..7a176408 100644 --- a/src/api/TryHun.gf +++ b/src/api/TryHun.gf @@ -1,3 +1,17 @@ --# -path=.:../hungarian:../common:../abstract:../prelude -resource TryHun = SyntaxHun, LexiconHun, ParadigmsHun - [mkAdv] ; +resource TryHun = SyntaxHun-[mkAdN], LexiconHun, ParadigmsHun - [mkAdv,mkAdN] ** + open (P = ParadigmsHun) in { + +oper + mkAdv = overload SyntaxHun { + mkAdv : Str -> Adv = P.mkAdv ; + } ; + + mkAdN = overload { + mkAdN : CAdv -> AdN = SyntaxHun.mkAdN ; + mkAdN : Str -> AdN = P.mkAdN ; + } ; + +} + diff --git a/src/api/TrySco.gf b/src/api/TrySco.gf new file mode 100644 index 00000000..ece8cc00 --- /dev/null +++ b/src/api/TrySco.gf @@ -0,0 +1,22 @@ +--# -path=.:../english:../common:../abstract:../prelude + +resource TrySco = SyntaxSco-[mkAdN], LexiconSco, ParadigmsSco - [mkAdv,mkAdN,mkOrd,mkQuant,mkVoc] ** + open (P = ParadigmsEng) in { + +oper + + mkAdv = overload SyntaxSco { + mkAdv : Str -> Adv = P.mkAdv ; + } ; + + mkAdN = overload { + mkAdN : CAdv -> AdN = SyntaxSco.mkAdN ; + mkAdN : Str -> AdN = P.mkAdN ; + } ; + + mkOrd = overload SyntaxSco { + mkOrd : Str -> Ord = P.mkOrd ; + } ; + + +} diff --git a/src/arabic/ConstructionAra.gf b/src/arabic/ConstructionAra.gf index 0542f3e0..bd762048 100644 --- a/src/arabic/ConstructionAra.gf +++ b/src/arabic/ConstructionAra.gf @@ -31,15 +31,15 @@ lin monthAdv january = let january_CN : CN = mkCN month_Timeunit (mkNP (mkPN january)) ; - january_NP : NP = R.emptyNP ** + january_NP : NP = lin NP R.emptyNP ** {s = \\c => R.cn2str january_CN R.Sg R.Const c ; a = {pgn = R.Per3 january_CN.g R.Sg ; isPron = False}} ; - in SyntaxAra.mkAdv R.biPrep january_NP ; + in SyntaxAra.mkAdv ParadigmsAra.biPrep january_NP ; yearAdv y = SyntaxAra.mkAdv in_Prep y ; -- dummy - dayMonthAdv d m = SyntaxAra.mkAdv on_Prep (mkNP d) ; -- on 17 May + dayMonthAdv d m = SyntaxAra.mkAdv on_Prep (mkNP m) ; -- on 17 May monthYearAdv m y = SyntaxAra.mkAdv on_Prep (mkNP m) ; -- in May 2012 dayMonthYearAdv d m y = SyntaxAra.mkAdv on_Prep y ; -- on 17 May 2013 @@ -51,7 +51,7 @@ lin let ap = mkAP a in ap ** { s = \\s,g,n,d,c => ap.s ! s ! g ! n ! d ! c - ++ (mkAdv R.biPrep (mkNP amount_N)).s + ++ (mkAdv ParadigmsAra.biPrep (mkNP amount_N)).s ++ (mkNP card cn).s ! R.Bare ---- ? /IL } ; @@ -60,26 +60,26 @@ oper amount_N : N = mkN "مِقْدَار" "مَقَادِير" masc nohum ; -- hack used in the name constructions - toNP : Bool -> NP -> NP = \b -> if_then_else NP b R.emptyNP ; + toNP : Bool -> NP -> NP = \b -> if_then_else NP b (lin NP R.emptyNP) ; lin -- : NP -> NP -> Cl have_name_Cl np nm = - let subjPron : Pron = R.np2pron np ; + let subjPron : Pron = lin Pron (R.np2pron np) ; me : NP = toNP np.a.isPron np ; myName : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ; in mkCl myName nm ; -- : NP -> QCl what_name_QCl np = - let subjPron : Pron = R.np2pron np ; + let subjPron : Pron = lin Pron (R.np2pron np) ; me : R.NP = toNP np.a.isPron np ; myName : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ; - what_IP : R.IP = R.mkIP "مَا هُوَ" R.Sg ; + what_IP : IP = lin IP (R.mkIP "مَا هُوَ" R.Sg) ; in mkQCl what_IP myName ; how_old_QCl np = - let subjPron : Pron = R.np2pron np ; + let subjPron : Pron = lin Pron (R.np2pron np) ; me : R.NP = toNP np.a.isPron np ; age_N = mkN "عُمر" ; myAge : NP = E.ApposNP me (mkNP (mkDet subjPron) L.name_N) ; diff --git a/src/arabic/LexiconAra.gf b/src/arabic/LexiconAra.gf index d10f07ec..05bbf115 100644 --- a/src/arabic/LexiconAra.gf +++ b/src/arabic/LexiconAra.gf @@ -23,7 +23,7 @@ flags beautiful_A = sndA "جمل" "فَعِيل" ; become_VA = mkVA (v4 "صبح") ; beer_N = sdfN "بير" "فِعلة" Fem NoHum ; - beg_V2V = mkV2V (mkVV (v5 "وسل")) noPrep ; + beg_V2V = mkV2V (mkVV (v5 "وسل")) ParadigmsAra.noPrep ; big_A = sndA "كبر" "فَعِيل" ; bike_N = sdfN "درج" "فَعّالة" Fem NoHum ; bird_N = brkN "طير" "فَعل" "فُعُول" Masc NoHum; @@ -72,7 +72,7 @@ flags door_N = brkN "بوب" "فاع" "أَفعَال" Masc NoHum ; drink_V2 = dirV2 (regV "شَرِب") ; -- drink_V2 = dirV2 (v1 "شرب" i a) ; - easy_A2V = mkA2 (sndA "سهل" "فَعل") liPrep ; + easy_A2V = mkA2 (sndA "سهل" "فَعل") ParadigmsAra.liPrep ; eat_V2 = dirV2 (mkV "ءكل" FormI) ; empty_A = sndA "فرغ" "فاعِل" ; enemy_N = brkN "عدو" "فَعُلّ" "أَفعَاء" Masc Hum ; @@ -202,7 +202,7 @@ flags switch8off_V2 = dirV2 (v4 "طفء") ; switch8on_V2 = dirV2 (v4 "شعل") ; table_N = sdfN "طول" "فاعِلة" Fem NoHum ; - talk_V3 = mkV3 (v5 "حدث") liPrep (mkPrep "عَن") ; + talk_V3 = mkV3 (v5 "حدث") ParadigmsAra.liPrep (mkPrep "عَن") ; teacher_N = sdmN "علم" "مُفَعِّل" Masc Hum ; --mucal~imö teach_V2 = dirV2 (v2 "علم") ; television_N = mkN (sndf "تِلِفِزيُون") Masc NoHum ; diff --git a/src/arabic/MorphoAra.gf b/src/arabic/MorphoAra.gf index dbb4f752..6cbb76de 100644 --- a/src/arabic/MorphoAra.gf +++ b/src/arabic/MorphoAra.gf @@ -70,6 +70,8 @@ oper _ => "لِ" }) Dat ; biPrep : Preposition = mkPrefix "بِ" ; + kaPrep : Preposition = mkPrefix "كَ" ; + accPrep : Preposition = mkPreposition [] Acc ; -- default object case in VP genPrep : Preposition = mkPreposition [] Gen ; -- default object case in N2 @@ -502,17 +504,17 @@ oper AComp d c => comp ! Sg ! d ! c } } ; - + mascFemCompAdj : (kabir, kabira, akbar : Str) -> Adj = \kabir, kabira, akbar -> ntablesAdj (positAdj kabir ! Masc) (positAdj kabir ! Fem) (positAdj akbar ! Masc) ; - + mascFemAdj : (kabir, kabira : Str) -> Adj = \kabir, kabira -> mascFemCompAdj kabir kabira kabir ; ---- comp mascAdj : (kabir : Str) -> Adj = \kabir -> mascFemAdj kabir (kabir + "َة") ; - + ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index 3faaeff5..b5cf1340 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -99,7 +99,7 @@ resource ParadigmsAra = open mkLN = overload { mkLN : Str -> LN -- Predictable LN from a Str: fem hum if ends in ة, otherwise masc hum. = \s -> lin LN (N.UsePN (smartPN s)) ; - mkLN : Str -> Gender -> LN + mkLN : Str -> Gender -> LN = \s, g -> lin LN (N.UsePN (smartPN s ** {g = g})) ; mkLN : N -> LN -- Make a LN out of N. The LN is in construct state. = \n -> lin LN (N.MassNP (N.UseN n)) ; @@ -108,7 +108,7 @@ resource ParadigmsAra = open ---- ++ n.s2 ! Sg ! Def ! c -- NB this hack works for idaafa constructions (if you used mkN : N -> N -> N), but wrong for mkN : N -> A -> N. /IL ---- }))) ; mkLN : NP -> LN - = \np -> np ; + = \np -> lin LN np ; } ; --3 Relational nouns @@ -153,7 +153,7 @@ resource ParadigmsAra = open nisbaA : Str -> Adj ; -- Forms relative adjectives with the suffix ِيّ. Takes either the stem and adds يّ, or the whole word ending in يّ and just adds declension. - idaafaA : N -> A -> A ; -- Forms adjectives of type غَيْرُ طَيِّبٍ 'not good'. Noun is in construct state but inflects in case. Adjective is in genitive, but inflects in gender, number and state. + idaafaA : N -> A -> A ; -- Forms adjectives of type غَيْرُ لَذيذٍ 'not tasty'. Noun is in construct state but inflects in case. Adjective is in genitive, but inflects in gender, number and state. degrA : (masc,fem,plur : Str) -> A ; -- Adjective where masculine singular is also the comparative form. Indeclinable singular, basic triptote declension for dual and plural. @@ -202,6 +202,7 @@ resource ParadigmsAra = open liPrep : Prep ; -- The preposition لِ, binding to its head. Vowel assimilation and def. article elision implemented. biPrep : Prep ; -- The preposition بِ, binding to its head. + kaPrep : Prep ; -- The preposition كَ, binding to its head. noPrep : Prep ; -- No preposition at all, "complement case" is nominative. --2 Conjunctions @@ -375,6 +376,7 @@ resource ParadigmsAra = open noPrep = lin Prep ResAra.noPrep ; biPrep = lin Prep ResAra.biPrep ; liPrep = lin Prep ResAra.liPrep ; + kaPrep = lin Prep ResAra.kaPrep ; casePrep : Case -> Prep = \c -> lin Prep {s=[]; c=c; binds=False} ; @@ -812,7 +814,7 @@ resource ParadigmsAra = open dirV3 = overload { dirV3 : V -> Prep -> V3 = \v,p -> mkV3 v (casePrep acc) p ; - dirV3 : V -> Str -> V3 = \v,s -> mkV3 v (casePrep acc) (mkPreposition s) + dirV3 : V -> Str -> V3 = \v,s -> mkV3 v (casePrep acc) (mkPrep s) } ; dirdirV3 v = dirV3 v (casePrep acc) ; @@ -873,7 +875,7 @@ resource ParadigmsAra = open mkAS, mkAV = \a -> a ; mkA2S, - mkA2V = \a,p -> prepA2 a (mkPreposition p) ; + mkA2V = \a,p -> lin A (prepA2 a (mkPreposition p)) ; @@ -914,7 +916,7 @@ oper wmkN : {sg, pl : Str ; g : Gender} -> N = \r -> mkN r.sg r.pl r.g nohum ; --- hum/nohum not in Wikt wmkN : {sg : Str} -> N - = \r -> smartN r.sg ; + = \r -> smartN r.sg ; wmkN : {sg : Str ; g : Gender ; root : Str} -> N = \r -> smartN r.sg ** {g = r.g} ; ---- wmkN : {sg : Str; g : Gender} -> N @@ -924,8 +926,8 @@ oper wmkN : {sg : Str; pl : Str} -> N = \r -> mkN r.sg r.pl masc nohum ; ---- ** {g = (smartN r.sg).g} ; wmkN : {sg, pl : Str ; root : Str} -> N - = \r -> mkN r.sg r.pl masc nohum ; ---- - wmkN : {sg : Str; root : Str} -> N + = \r -> mkN r.sg r.pl masc nohum ; ---- + wmkN : {sg : Str; root : Str} -> N = \r -> smartN r.sg ; } ; @@ -949,25 +951,25 @@ oper wmkA : {masc_sg, masc_pl, root, sg_patt : Str} -> A = \r -> mkA r.root r.sg_patt ; wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, root, pl_patt : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, root : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg, fem_sg, root : Str} -> A = \r -> mkA r.root ; ---- wmkA : {masc_sg, fem_sg, masc_pl, fem_pl, pl_patt : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg : Str; fem_sg : Str; fem_pl : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg : Str; fem_sg : Str; root : Str ; sg_patt : Str} -> A = \r -> mkA r.root r.sg_patt ; wmkA : {masc_sg : Str; fem_sg : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str; fem_pl : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str; root : Str} -> A = \r -> mkA r.root ; wmkA : {masc_sg : Str; masc_pl : Str; fem_sg : Str} -> A - = \r -> mascFemAdj r.masc_sg r.fem_sg ; + = \r -> mascFemA r.masc_sg r.fem_sg ; wmkA : {masc_sg : Str; masc_pl : Str; root : Str} -> A = \r -> mkA r.root ; wmkA : {masc_sg : Str; masc_pl, pl_patt : Str; root : Str} -> A diff --git a/src/arabic/StructuralAra.gf b/src/arabic/StructuralAra.gf index 744af228..83652369 100644 --- a/src/arabic/StructuralAra.gf +++ b/src/arabic/StructuralAra.gf @@ -124,7 +124,7 @@ concrete StructuralAra of Structural = CatAra ** youPl_Pron = youPlMasc_Pron ; youPol_Pron = youPlFem_Pron ; -- arbitrary? - have_V2 = mkV2 ladaa_V (casePrep nom) ; -- "X has Y" literally "Y is on X" + have_V2 = mkV2 (lin V ladaa_V) (casePrep nom) ; -- "X has Y" literally "Y is on X" --have_V2 = dirV2 (regV "يَملِك") ; -- "X owns/possesses Y" lin language_title_Utt = {s = \\_ => "العربية"} ; diff --git a/src/armenian/AdjectiveHye.gf b/src/armenian/AdjectiveHye.gf new file mode 100644 index 00000000..09800923 --- /dev/null +++ b/src/armenian/AdjectiveHye.gf @@ -0,0 +1,19 @@ +concrete AdjectiveHye of Adjective = CatHye ** open ResHye, Prelude in { +lin + AdAP ada ap = { + s = \\sp,c,num => ada.s ++ ap.s ! sp ! c ! num; + isPre = ap.isPre + } ; + PositA a = { + s = \\sp,c,num => + case of { + => a.def_nom ! num ; + => a.def_dat ! num ; + => a.poss1 ! c ! num ; + => a.poss2 ! c ! num ; + _ => a.s ! c ! num + } ; + isPre = True + } ; + +} diff --git a/src/armenian/AdverbHye.gf b/src/armenian/AdverbHye.gf new file mode 100644 index 00000000..15f39b74 --- /dev/null +++ b/src/armenian/AdverbHye.gf @@ -0,0 +1,6 @@ +concrete AdverbHye of Adverb = CatHye ** open Prelude,ResHye in { + lin PrepNP p np = {s = case p.isPre of { + False => np.s ! p.c ++ p.s; + True => p.s ++ np.s ! p.c + }} ; +} diff --git a/src/armenian/AllHye.gf b/src/armenian/AllHye.gf new file mode 100644 index 00000000..b11b445a --- /dev/null +++ b/src/armenian/AllHye.gf @@ -0,0 +1,4 @@ +concrete AllHye of AllHyeAbs = + LangHye + ** + {} ; diff --git a/src/armenian/AllHyeAbs.gf b/src/armenian/AllHyeAbs.gf new file mode 100644 index 00000000..354987b7 --- /dev/null +++ b/src/armenian/AllHyeAbs.gf @@ -0,0 +1,3 @@ +abstract AllHyeAbs = + Lang + ** {} \ No newline at end of file diff --git a/src/armenian/CatHye.gf b/src/armenian/CatHye.gf new file mode 100644 index 00000000..3b1f7362 --- /dev/null +++ b/src/armenian/CatHye.gf @@ -0,0 +1,63 @@ +concrete CatHye of Cat = CommonX ** open Prelude,ResHye in { + lincat A = Adj ; + lincat A2 = Adj ** {c2 : Compl} ; + lincat ACard = {s : Str} ; + lincat AP = {s : Species => Case => Number => Str; isPre : Bool} ; + lincat CN = {s : Species => Case => Number => Str} ; + lincat Card = {s : Str} ; + lincat Cl = {s : Str; + conditional : Aspect => Number => Str; + converb : {imperfective : Str; futCon1 : Str; + futCon2 : Str; negative : Str; + perfective : Str; simultaneous : Str}; + passive : Str; past : Person => Number => Str; + participle : PartType => Str; + subjunctive : Aspect => Number => Str} ; + lincat ClSlash = {s : Str} ; + lincat Comp = {s : Str} ; + lincat Conj = {s : Str} ; + lincat DAP = {s : Str} ; + lincat Decimal = {s : Str} ; + lincat Det = {s : Str; n : Number; sp : Species} ; + lincat Digits = {s : Str} ; + lincat GN = {s : Str} ; + lincat IComp = {s : Str} ; + lincat IDet = {s : Str} ; + lincat IP = {s : Str} ; + lincat IQuant = {s : Str} ; + lincat Imp = {s : Str} ; + lincat LN = {s : Str} ; + lincat N = Noun ; + lincat N2 = Noun ** {c2 : Compl} ; + lincat N3 = Noun ** {c2,c3 : Compl} ; + lincat NP = {s : Case => Str; a : Agr} ; + lincat Num = {s : Str; n : Number} ; + lincat Numeral = {s : Str} ; + lincat Ord = {s : Str} ; + lincat PN = {s : Str} ; + lincat Predet = {s : Str} ; + lincat Prep = Compl ** {isPre : Bool} ; + lincat Pron = {s : Str; empty : Str; a : Agr} ; + lincat QCl = {s : Str} ; + lincat QS = {s : Str} ; + lincat Quant = {s : Str; sp : Species} ; + lincat RCl = {s : Str} ; + lincat RP = {s : Str} ; + lincat RS = {s : Str} ; + lincat S = {s : Str} ; + lincat SN = {s : Str} ; + lincat SSlash = {s : Str} ; + lincat Subj = {s : Str} ; + lincat V = Verb ; + lincat VV,VS,VQ,VA = Verb ; + lincat V2 = Verb ** {c2 : Compl} ; + lincat V3,V2A,V2S,V2Q,V2V = Verb ** {c2,c3 : Compl} ; + lincat VP = {s : Str; + conditional : Aspect => Person => Number => Str; + converb : {imperfective : Str; futCon1 : Str; futCon2 : Str; + negative : Str; perfective : Str; simultaneous : Str}; + imperative : Number => Str; passive : Str; + past : Person => Number => Str; participle : PartType => Str; + subjunctive : Aspect => Person => Number => Str} ; + lincat VPSlash = Verb ** {c2 : Compl} ; +} diff --git a/src/armenian/DocumentationHye.gf b/src/armenian/DocumentationHye.gf new file mode 100644 index 00000000..7fb787cd --- /dev/null +++ b/src/armenian/DocumentationHye.gf @@ -0,0 +1,133 @@ +concrete DocumentationHye of Documentation = CatHye ** open + ResHye, Prelude, HTML in { + +lincat + Inflection = {t : Str; s1,s2,s3 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin + InflectionV,InflectionV2,InflectionV2A,InflectionV2Q,InflectionV2S,InflectionV2V,InflectionV3,InflectionVA,InflectionVQ,InflectionVS,InflectionVV = \x -> { + t="v" ; + s1="" ; + s2=heading1 "Infinitive" ++ + paragraph (x.s) ++ + heading1 "Converb" ++ + frameTable ( + tr (th "Imperfective" ++ td (x.converb.imperfective)) ++ + tr (th "Simultaneous" ++ td (x.converb.simultaneous)) ++ + tr (th "Perfective" ++ td (x.converb.perfective)) ++ + tr (th "Futute I" ++ td (x.converb.futCon1)) ++ + tr (th "Futute II" ++ td (x.converb.futCon2)) ++ + tr (th "Connegative" ++ td (x.converb.negative))) ++ + heading1 "Passive" ++ + paragraph x.passive ++ + heading1 "Participle" ++ + frameTable ( + tr (th "Resultative" ++ td (x.participle ! Resultative)) ++ + tr (th "Subject" ++ td (x.participle ! Subject))) ++ + heading1 "Past" ++ + frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "P1" ++ td (x.past ! P1 ! Sg) ++ td (x.past ! P1 ! Pl)) ++ + tr (th "P2" ++ td (x.past ! P2 ! Sg) ++ td (x.past ! P2 ! Pl)) ++ + tr (th "P3" ++ td (x.past ! P3 ! Sg) ++ td (x.past ! P3 ! Pl))) ++ + heading1 "Subjunctive" ++ + frameTable ( + tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++ + tr (intagAttr "th" "rowspan=\"3\"" "Perfect" ++ + th "P1" ++ td (x.subjunctive ! Perfect ! P1 ! Sg) ++ td (x.subjunctive ! Perfect ! P1 ! Pl)) ++ + tr (th "P2" ++ td (x.subjunctive ! Perfect ! P2 ! Sg) ++ td (x.subjunctive ! Perfect ! P2 ! Pl)) ++ + tr (th "P3" ++ td (x.subjunctive ! Perfect ! P3 ! Sg) ++ td (x.subjunctive ! Perfect ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"3\"" "Non_Past" ++ + th "P1" ++ td (x.subjunctive ! Non_Past ! P1 ! Sg) ++ td (x.subjunctive ! Non_Past ! P1 ! Pl)) ++ + tr (th "P2" ++ td (x.subjunctive ! Non_Past ! P2 ! Sg) ++ td (x.subjunctive ! Non_Past ! P2 ! Pl)) ++ + tr (th "P3" ++ td (x.subjunctive ! Non_Past ! P3 ! Sg) ++ td (x.subjunctive ! Non_Past ! P3 ! Pl))) ++ + heading1 "Conditional" ++ + frameTable ( + tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++ + tr (intagAttr "th" "rowspan=\"3\"" "Perfect" ++ + th "P1" ++ td (x.conditional ! Perfect ! P1 ! Sg) ++ td (x.conditional ! Perfect ! P1 ! Pl)) ++ + tr (th "P2" ++ td (x.conditional ! Perfect ! P2 ! Sg) ++ td (x.conditional ! Perfect ! P2 ! Pl)) ++ + tr (th "P3" ++ td (x.conditional ! Perfect ! P3 ! Sg) ++ td (x.conditional ! Perfect ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Non_Past" ++ + th "P1" ++ td (x.conditional ! Non_Past ! P1 ! Sg) ++ td (x.conditional ! Non_Past ! P1 ! Pl)) ++ + tr (th "P2" ++ td (x.conditional ! Non_Past ! P2 ! Sg) ++ td (x.conditional ! Non_Past ! P2 ! Pl)) ++ + tr (th "P3" ++ td (x.conditional ! Non_Past ! P3 ! Sg) ++ td (x.conditional ! Non_Past ! P3 ! Pl))) ++ + heading1 "Imperative" ++ + frameTable ( + tr (th "Sg" ++ th "Pl") ++ + tr (td (x.imperative ! Sg) ++ td (x.imperative ! Pl))) ; + s3=[] + } ; +lin + InflectionN,InflectionN2,InflectionN3 = \x -> { + t="n" ; + s1="" ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! Sg) ++ td (x.s ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.s ! Ablat ! Sg) ++ td (x.s ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "definite forms") ++ + tr (th "Nom" ++ td (x.def_nom ! Sg) ++ td (x.def_nom ! Pl)) ++ + tr (th "Dat" ++ td (x.def_dat ! Sg) ++ td (x.def_dat ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "1st person possessive forms") ++ + tr (th "Nom" ++ td (x.poss1 ! Nom ! Sg) ++ td (x.poss1 ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.poss1 ! Dat ! Sg) ++ td (x.poss1 ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.poss1 ! Ablat ! Sg) ++ td (x.poss1 ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.poss1 ! Instr ! Sg) ++ td (x.poss1 ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.poss1 ! Loc ! Sg) ++ td (x.poss1 ! Loc ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "2nd person possessive forms") ++ + tr (th "Nom" ++ td (x.poss2 ! Nom ! Sg) ++ td (x.poss2 ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.poss2 ! Dat ! Sg) ++ td (x.poss2 ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.poss2 ! Ablat ! Sg) ++ td (x.poss2 ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.poss2 ! Instr ! Sg) ++ td (x.poss2 ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.poss2 ! Loc ! Sg) ++ td (x.poss2 ! Loc ! Pl))) ; + s3=[] + } ; +lin + InflectionA,InflectionA2 = \x -> { + t="a" ; + s1="" ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! Sg) ++ td (x.s ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.s ! Ablat ! Sg) ++ td (x.s ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "definite forms") ++ + tr (th "Nom" ++ td (x.def_nom ! Sg) ++ td (x.def_nom ! Pl)) ++ + tr (th "Dat" ++ td (x.def_dat ! Sg) ++ td (x.def_dat ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "1st person possessive forms") ++ + tr (th "Nom" ++ td (x.poss1 ! Nom ! Sg) ++ td (x.poss1 ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.poss1 ! Dat ! Sg) ++ td (x.poss1 ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.poss1 ! Ablat ! Sg) ++ td (x.poss1 ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.poss1 ! Instr ! Sg) ++ td (x.poss1 ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.poss1 ! Loc ! Sg) ++ td (x.poss1 ! Loc ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "2nd person possessive forms") ++ + tr (th "Nom" ++ td (x.poss2 ! Nom ! Sg) ++ td (x.poss2 ! Nom ! Pl)) ++ + tr (th "Dat" ++ td (x.poss2 ! Dat ! Sg) ++ td (x.poss2 ! Dat ! Pl)) ++ + tr (th "Ablat" ++ td (x.poss2 ! Ablat ! Sg) ++ td (x.poss2 ! Ablat ! Pl)) ++ + tr (th "Instr" ++ td (x.poss2 ! Instr ! Sg) ++ td (x.poss2 ! Instr ! Pl)) ++ + tr (th "Loc" ++ td (x.poss2 ! Loc ! Sg) ++ td (x.poss2 ! Loc ! Pl))) ; + s3=[] + } ; +lin + InflectionAdA,InflectionAdN,InflectionAdV,InflectionAdv = \x -> {t="adv"; s1=""; s2=x.s; s3=""} ; + + InflectionPrep = \x -> {t="prep"; s1=""; s2=x.s; 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/armenian/GrammarHye.gf b/src/armenian/GrammarHye.gf new file mode 100644 index 00000000..2a7211a2 --- /dev/null +++ b/src/armenian/GrammarHye.gf @@ -0,0 +1,10 @@ +concrete GrammarHye of Grammar = + TenseX, + PhraseHye, + NounHye, + VerbHye, + AdjectiveHye, + AdverbHye, + SentenceHye, + StructuralHye ** { +} diff --git a/src/armenian/LangHye.gf b/src/armenian/LangHye.gf new file mode 100644 index 00000000..34f07bae --- /dev/null +++ b/src/armenian/LangHye.gf @@ -0,0 +1,10 @@ +--# -path=.:../abstract +concrete LangHye of Lang = + GrammarHye, + LexiconHye + ,DocumentationHye --# notpresent + ** { + +flags startcat = Phr ; + +} \ No newline at end of file diff --git a/src/armenian/LexiconHye.gf b/src/armenian/LexiconHye.gf new file mode 100644 index 00000000..6baed73e --- /dev/null +++ b/src/armenian/LexiconHye.gf @@ -0,0 +1,5 @@ +concrete LexiconHye of Lexicon = CatHye ** open ParadigmsHye in { +lin apple_N = mkN001 "խնձոր" ; +lin man_N = mkN047 "տղամարդ" ; +lin woman_N = mkN034 "կին" ; +} diff --git a/src/armenian/MorphoHye.gf b/src/armenian/MorphoHye.gf new file mode 100644 index 00000000..c5679a23 --- /dev/null +++ b/src/armenian/MorphoHye.gf @@ -0,0 +1,7506 @@ +resource MorphoHye = open CatHye, ResHye, Predef in { + +oper + +mkV001 : Str -> V ; +mkV001 base = + case base of { + base_1+"ել" => lin V + { s = base_1+"ել" ; + causative = base_1+"եցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"եի" ; + Pl => "կ"+base_1+"եինք" + } ; + P2 => table { + Sg => "կ"+base_1+"եիր" ; + Pl => "կ"+base_1+"եիք" + } ; + P3 => table { + Sg => "կ"+base_1+"եր" ; + Pl => "կ"+base_1+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"եմ" ; + Pl => "կ"+base_1+"ենք" + } ; + P2 => table { + Sg => "կ"+base_1+"ես" ; + Pl => "կ"+base_1+"եք" + } ; + P3 => table { + Sg => "կ"+base_1+"ի" ; + Pl => "կ"+base_1+"են" + } + } + } ; + converb = { imperfective = base_1+"ում" ; + futCon1 =base_1+"ելու" ; + futCon2 = base_1+"ելիք" ; + negative = base_1+"ի" ; + perfective = base_1+"ել" ; + simultaneous = base_1+"ելիս" + } ; + imperative = table { + Sg => base_1+"ի՛ր" ; + Pl => base_1+"ե՛ք" + } ; + passive = base_1+"վել" ; + past = table { + P1 => table { + Sg => base_1+"եցի" ; + Pl => base_1+"եցինք" + } ; + P2 => table { + Sg => base_1+"եցիր" ; + Pl => base_1+"եցիք" + } ; + P3 => table { + Sg => base_1+"եց" ; + Pl => base_1+"եցին" + } + } ; + participle = table { + Resultative => base_1+"ած" ; + Subject => base_1+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"եի" ; + Pl => base_1+"եինք" + } ; + P2 => table { + Sg => base_1+"եիր" ; + Pl => base_1+"եիք" + } ; + P3 => table { + Sg => base_1+"եր" ; + Pl => base_1+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"եմ" ; + Pl => base_1+"ենք" + } ; + P2 => table { + Sg => base_1+"ես" ; + Pl => base_1+"եք" + } ; + P3 => table { + Sg => base_1+"ի" ; + Pl => base_1+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV001" + } ; + +mkV002 : Str -> V ; +mkV002 base = + case base of { + base_1+"ալ" => lin V + { s = base_1+"ալ" ; + causative = base_1+"ացնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"այի" ; + Pl => "կ"+base_1+"այինք" + } ; + P2 => table { + Sg => "կ"+base_1+"այիր" ; + Pl => "կ"+base_1+"այիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ար" ; + Pl => "կ"+base_1+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"ամ" ; + Pl => "կ"+base_1+"անք" + } ; + P2 => table { + Sg => "կ"+base_1+"աս" ; + Pl => "կ"+base_1+"աք" + } ; + P3 => table { + Sg => "կ"+base_1+"ա" ; + Pl => "կ"+base_1+"ան" + } + } + } ; + converb = { imperfective = base_1+"ում" ; + futCon1 =base_1+"ալու" ; + futCon2 = base_1+"ալիք" ; + negative = base_1+"ա" ; + perfective = base_1+"ացել" ; + simultaneous = base_1+"ալիս" + } ; + imperative = table { + Sg => base_1+"ա՛" ; + Pl => base_1+"ացե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ացի" ; + Pl => base_1+"ացինք" + } ; + P2 => table { + Sg => base_1+"ացիր" ; + Pl => base_1+"ացիք" + } ; + P3 => table { + Sg => base_1+"աց" ; + Pl => base_1+"ացին" + } + } ; + participle = table { + Resultative => base_1+"ացած" ; + Subject => base_1+"ացող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"այի" ; + Pl => base_1+"այինք" + } ; + P2 => table { + Sg => base_1+"այիր" ; + Pl => base_1+"այիք" + } ; + P3 => table { + Sg => base_1+"ար" ; + Pl => base_1+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"ամ" ; + Pl => base_1+"անք" + } ; + P2 => table { + Sg => base_1+"աս" ; + Pl => base_1+"աք" + } ; + P3 => table { + Sg => base_1+"ա" ; + Pl => base_1+"ան" + } + } + } + }; + _ => error "Can't apply paradigm mkV002" + } ; + +mkV003 : Str -> V ; +mkV003 base = + case base of { + base_1+"նել" => lin V + { s = base_1+"նել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նեի" ; + Pl => "կ"+base_1+"նեինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նեիր" ; + Pl => "կ"+base_1+"նեիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ներ" ; + Pl => "կ"+base_1+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նեմ" ; + Pl => "կ"+base_1+"նենք" + } ; + P2 => table { + Sg => "կ"+base_1+"նես" ; + Pl => "կ"+base_1+"նեք" + } ; + P3 => table { + Sg => "կ"+base_1+"նի" ; + Pl => "կ"+base_1+"նեն" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նելու" ; + futCon2 = base_1+"նելիք" ; + negative = base_1+"նի" ; + perfective = base_1+"րել" ; + simultaneous = base_1+"նելիս" + } ; + imperative = table { + Sg => base_1+"րո՛ւ" ; + Pl => base_1+"րե՛ք" + } ; + passive = base_1+"վել" ; + past = table { + P1 => table { + Sg => base_1+"րի" ; + Pl => base_1+"րինք" + } ; + P2 => table { + Sg => base_1+"րիր" ; + Pl => base_1+"րիք" + } ; + P3 => table { + Sg => base_1+"րեց" ; + Pl => base_1+"րին" + } + } ; + participle = table { + Resultative => base_1+"րած" ; + Subject => base_1+"նող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նեի" ; + Pl => base_1+"նեինք" + } ; + P2 => table { + Sg => base_1+"նեիր" ; + Pl => base_1+"նեիք" + } ; + P3 => table { + Sg => base_1+"ներ" ; + Pl => base_1+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նեմ" ; + Pl => base_1+"նենք" + } ; + P2 => table { + Sg => base_1+"նես" ; + Pl => base_1+"նեք" + } ; + P3 => table { + Sg => base_1+"նի" ; + Pl => base_1+"նեն" + } + } + } + }; + _ => error "Can't apply paradigm mkV003" + } ; + +mkV004 : Str -> V ; +mkV004 base = + case base of { + base_1+"նալ" => lin V + { s = base_1+"նալ" ; + causative = base_1+"ցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նայի" ; + Pl => "կ"+base_1+"նայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նայիր" ; + Pl => "կ"+base_1+"նայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"նար" ; + Pl => "կ"+base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նամ" ; + Pl => "կ"+base_1+"նանք" + } ; + P2 => table { + Sg => "կ"+base_1+"նաս" ; + Pl => "կ"+base_1+"նաք" + } ; + P3 => table { + Sg => "կ"+base_1+"նա" ; + Pl => "կ"+base_1+"նան" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նալու" ; + futCon2 = base_1+"նալիք" ; + negative = base_1+"նա" ; + perfective = base_1+"ցել" ; + simultaneous = base_1+"նալիս" + } ; + imperative = table { + Sg => base_1+"ցի՛ր" ; + Pl => base_1+"ցե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ցա" ; + Pl => base_1+"ցանք" + } ; + P2 => table { + Sg => base_1+"ցար" ; + Pl => base_1+"ցաք" + } ; + P3 => table { + Sg => base_1+"ցավ" ; + Pl => base_1+"ցան" + } + } ; + participle = table { + Resultative => base_1+"ցած" ; + Subject => base_1+"ցող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նայի" ; + Pl => base_1+"նայինք" + } ; + P2 => table { + Sg => base_1+"նայիր" ; + Pl => base_1+"նայիք" + } ; + P3 => table { + Sg => base_1+"նար" ; + Pl => base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նամ" ; + Pl => base_1+"նանք" + } ; + P2 => table { + Sg => base_1+"նաս" ; + Pl => base_1+"նաք" + } ; + P3 => table { + Sg => base_1+"նա" ; + Pl => base_1+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV004" + } ; + +mkV005 : Str -> V ; +mkV005 base = + case base of { + base_1+"ռնալ" => lin V + { s = base_1+"ռնալ" ; + causative = base_1+"րձնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"ռնայի" ; + Pl => "կ"+base_1+"ռնայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"ռնայիր" ; + Pl => "կ"+base_1+"ռնայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ռնար" ; + Pl => "կ"+base_1+"ռնային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"ռնամ" ; + Pl => "կ"+base_1+"ռնանք" + } ; + P2 => table { + Sg => "կ"+base_1+"ռնաս" ; + Pl => "կ"+base_1+"ռնաք" + } ; + P3 => table { + Sg => "կ"+base_1+"ռնա" ; + Pl => "կ"+base_1+"ռնան" + } + } + } ; + converb = { imperfective = base_1+"ռնում" ; + futCon1 =base_1+"ռնալու" ; + futCon2 = base_1+"ռնալիք" ; + negative = base_1+"ռնա" ; + perfective = base_1+"րձել" ; + simultaneous = base_1+"ռնալիս" + } ; + imperative = table { + Sg => base_1+"րձի՛ր" ; + Pl => base_1+"րձե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"րձեցի" ; + Pl => base_1+"րձեցինք" + } ; + P2 => table { + Sg => base_1+"րձեցիր" ; + Pl => base_1+"րձեցիք" + } ; + P3 => table { + Sg => base_1+"րձեց" ; + Pl => base_1+"րձեցին" + } + } ; + participle = table { + Resultative => base_1+"րձած" ; + Subject => base_1+"րձող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"ռնայի" ; + Pl => base_1+"ռնայինք" + } ; + P2 => table { + Sg => base_1+"ռնայիր" ; + Pl => base_1+"ռնայիք" + } ; + P3 => table { + Sg => base_1+"ռնար" ; + Pl => base_1+"ռնային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"ռնամ" ; + Pl => base_1+"ռնանք" + } ; + P2 => table { + Sg => base_1+"ռնաս" ; + Pl => base_1+"ռնաք" + } ; + P3 => table { + Sg => base_1+"ռնա" ; + Pl => base_1+"ռնան" + } + } + } + }; + _ => error "Can't apply paradigm mkV005" + } ; + +mkV006 : Str -> V ; +mkV006 base = + case base of { + "երթալ" => lin V + { s = "երթալ" ; + causative = "գնացնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կերթայի" ; + Pl => "կերթայինք" + } ; + P2 => table { + Sg => "կերթայիր" ; + Pl => "կերթայիք" + } ; + P3 => table { + Sg => "կերթար" ; + Pl => "կերթային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կերթամ" ; + Pl => "կերթանք" + } ; + P2 => table { + Sg => "կերթաս" ; + Pl => "կերթաք" + } ; + P3 => table { + Sg => "կերթա" ; + Pl => "կերթան" + } + } + } ; + converb = { imperfective = "երթում" ; + futCon1 ="երթալու" ; + futCon2 = "երթալիք" ; + negative = "երթա" ; + perfective = "գնացել" ; + simultaneous = "երթալիս" + } ; + imperative = table { + Sg => "երթա՛" ; + Pl => "գնացե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => "գնացի" ; + Pl => "գնացինք" + } ; + P2 => table { + Sg => "գնացիր" ; + Pl => "գնացիք" + } ; + P3 => table { + Sg => "գնաց" ; + Pl => "գնացին" + } + } ; + participle = table { + Resultative => "գնացած" ; + Subject => "գնացող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => "երթայի" ; + Pl => "երթայինք" + } ; + P2 => table { + Sg => "երթայիր" ; + Pl => "երթայիք" + } ; + P3 => table { + Sg => "երթար" ; + Pl => "երթային" + } + } ; + Non_past => table { + P1 => table { + Sg => "երթամ" ; + Pl => "երթանք" + } ; + P2 => table { + Sg => "երթաս" ; + Pl => "երթաք" + } ; + P3 => table { + Sg => "երթա" ; + Pl => "երթան" + } + } + } + }; + _ => error "Can't apply paradigm mkV006" + } ; + +mkV007 : Str -> V ; +mkV007 base = + case base of { + "էթալ" => lin V + { s = "էթալ" ; + causative = "գնացնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կէթայի" ; + Pl => "կէթայինք" + } ; + P2 => table { + Sg => "կէթայիր" ; + Pl => "կէթայիք" + } ; + P3 => table { + Sg => "կէթար" ; + Pl => "կէթային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կէթամ" ; + Pl => "կէթանք" + } ; + P2 => table { + Sg => "կէթաս" ; + Pl => "կէթաք" + } ; + P3 => table { + Sg => "կէթա" ; + Pl => "կէթան" + } + } + } ; + converb = { imperfective = "էթում" ; + futCon1 ="էթալու" ; + futCon2 = "էթալիք" ; + negative = "էթա" ; + perfective = "գնացել" ; + simultaneous = "էթալիս" + } ; + imperative = table { + Sg => "էթա՛" ; + Pl => "գնացե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => "գնացի" ; + Pl => "գնացինք" + } ; + P2 => table { + Sg => "գնացիր" ; + Pl => "գնացիք" + } ; + P3 => table { + Sg => "գնաց" ; + Pl => "գնացին" + } + } ; + participle = table { + Resultative => "գնացած" ; + Subject => "գնացող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => "էթայի" ; + Pl => "էթայինք" + } ; + P2 => table { + Sg => "էթայիր" ; + Pl => "էթայիք" + } ; + P3 => table { + Sg => "էթար" ; + Pl => "էթային" + } + } ; + Non_past => table { + P1 => table { + Sg => "էթամ" ; + Pl => "էթանք" + } ; + P2 => table { + Sg => "էթաս" ; + Pl => "էթաք" + } ; + P3 => table { + Sg => "էթա" ; + Pl => "էթան" + } + } + } + }; + _ => error "Can't apply paradigm mkV007" + } ; + +mkV008 : Str -> V ; +mkV008 base = + case base of { + base_1+"նել" => lin V + { s = base_1+"նել" ; + causative = base_1+"ցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նեի" ; + Pl => "կ"+base_1+"նեինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նեիր" ; + Pl => "կ"+base_1+"նեիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ներ" ; + Pl => "կ"+base_1+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նեմ" ; + Pl => "կ"+base_1+"նենք" + } ; + P2 => table { + Sg => "կ"+base_1+"նես" ; + Pl => "կ"+base_1+"նեք" + } ; + P3 => table { + Sg => "կ"+base_1+"նի" ; + Pl => "կ"+base_1+"նեն" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նելու" ; + futCon2 = base_1+"նելիք" ; + negative = base_1+"նի" ; + perfective = base_1+"ել" ; + simultaneous = base_1+"նելիս" + } ; + imperative = table { + Sg => base_1+"ի՛ր" ; + Pl => base_1+"ե՛ք" + } ; + passive = base_1+"նվել" ; + past = table { + P1 => table { + Sg => base_1+"ա" ; + Pl => base_1+"անք" + } ; + P2 => table { + Sg => base_1+"ար" ; + Pl => base_1+"աք" + } ; + P3 => table { + Sg => base_1+"ավ" ; + Pl => base_1+"ան" + } + } ; + participle = table { + Resultative => base_1+"ած" ; + Subject => base_1+"նող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նեի" ; + Pl => base_1+"նեինք" + } ; + P2 => table { + Sg => base_1+"նեիր" ; + Pl => base_1+"նեիք" + } ; + P3 => table { + Sg => base_1+"ներ" ; + Pl => base_1+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նեմ" ; + Pl => base_1+"նենք" + } ; + P2 => table { + Sg => base_1+"նես" ; + Pl => base_1+"նեք" + } ; + P3 => table { + Sg => base_1+"նի" ; + Pl => base_1+"նեն" + } + } + } + }; + _ => error "Can't apply paradigm mkV008" + } ; + +mkV009 : Str -> V ; +mkV009 base = + case base of { + "ըլնել" => lin V + { s = "ըլնել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կըլնեի" ; + Pl => "կըլնեինք" + } ; + P2 => table { + Sg => "կըլնեիր" ; + Pl => "կըլնեիք" + } ; + P3 => table { + Sg => "կըլներ" ; + Pl => "կըլնեին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կըլնեմ" ; + Pl => "կըլնենք" + } ; + P2 => table { + Sg => "կըլնես" ; + Pl => "կըլնեք" + } ; + P3 => table { + Sg => "կըլնի" ; + Pl => "կըլնեն" + } + } + } ; + converb = { imperfective = "ըլնում" ; + futCon1 ="ըլնելու" ; + futCon2 = "ըլնելիք" ; + negative = "ըլնի" ; + perfective = "էղել" ; + simultaneous = "ըլնելիս" + } ; + imperative = table { + Sg => "էղի՛ր" ; + Pl => "էղե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => "էղա" ; + Pl => "էղանք" + } ; + P2 => table { + Sg => "էղար" ; + Pl => "էղաք" + } ; + P3 => table { + Sg => "էղավ" ; + Pl => "էղան" + } + } ; + participle = table { + Resultative => "էղած" ; + Subject => "ըլնող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => "ըլնեի" ; + Pl => "ըլնեինք" + } ; + P2 => table { + Sg => "ըլնեիր" ; + Pl => "ըլնեիք" + } ; + P3 => table { + Sg => "ըլներ" ; + Pl => "ըլնեին" + } + } ; + Non_past => table { + P1 => table { + Sg => "ըլնեմ" ; + Pl => "ըլնենք" + } ; + P2 => table { + Sg => "ըլնես" ; + Pl => "ըլնեք" + } ; + P3 => table { + Sg => "ըլնի" ; + Pl => "ըլնեն" + } + } + } + }; + _ => error "Can't apply paradigm mkV009" + } ; + +mkV010 : Str -> V ; +mkV010 base = + case base of { + base_1+"նալ" => lin V + { s = base_1+"նալ" ; + causative = base_1+"ցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նայի" ; + Pl => "կ"+base_1+"նայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նայիր" ; + Pl => "կ"+base_1+"նայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"նար" ; + Pl => "կ"+base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նամ" ; + Pl => "կ"+base_1+"նանք" + } ; + P2 => table { + Sg => "կ"+base_1+"նաս" ; + Pl => "կ"+base_1+"նաք" + } ; + P3 => table { + Sg => "կ"+base_1+"նա" ; + Pl => "կ"+base_1+"նան" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նալու" ; + futCon2 = base_1+"նալիք" ; + negative = base_1+"նա" ; + perfective = base_1+"ցել" ; + simultaneous = base_1+"նալիս" + } ; + imperative = table { + Sg => base_1+"՛" ; + Pl => base_1+"ցե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ցի" ; + Pl => base_1+"ցինք" + } ; + P2 => table { + Sg => base_1+"ցիր" ; + Pl => base_1+"ցիք" + } ; + P3 => table { + Sg => base_1+"ց" ; + Pl => base_1+"ցին" + } + } ; + participle = table { + Resultative => base_1+"ցած" ; + Subject => base_1+"ցող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նայի" ; + Pl => base_1+"նայինք" + } ; + P2 => table { + Sg => base_1+"նայիր" ; + Pl => base_1+"նայիք" + } ; + P3 => table { + Sg => base_1+"նար" ; + Pl => base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նամ" ; + Pl => base_1+"նանք" + } ; + P2 => table { + Sg => base_1+"նաս" ; + Pl => base_1+"նաք" + } ; + P3 => table { + Sg => base_1+"նա" ; + Pl => base_1+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV010" + } ; + +mkV011 : Str -> V ; +mkV011 base = + case base of { + base_1+"ալ" => lin V + { s = base_1+"ալ" ; + causative = base_1+"ացնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"այի" ; + Pl => "կ"+base_1+"այինք" + } ; + P2 => table { + Sg => "կ"+base_1+"այիր" ; + Pl => "կ"+base_1+"այիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ար" ; + Pl => "կ"+base_1+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"ամ" ; + Pl => "կ"+base_1+"անք" + } ; + P2 => table { + Sg => "կ"+base_1+"աս" ; + Pl => "կ"+base_1+"աք" + } ; + P3 => table { + Sg => "կ"+base_1+"այ" ; + Pl => "կ"+base_1+"ան" + } + } + } ; + converb = { imperfective = base_1+"ում" ; + futCon1 =base_1+"ալու" ; + futCon2 = base_1+"ալիք" ; + negative = base_1+"այ" ; + perfective = base_1+"ացել" ; + simultaneous = base_1+"ալիս" + } ; + imperative = table { + Sg => base_1+"ա՛" ; + Pl => base_1+"ացէ՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ացի" ; + Pl => base_1+"ացինք" + } ; + P2 => table { + Sg => base_1+"ացիր" ; + Pl => base_1+"ացիք" + } ; + P3 => table { + Sg => base_1+"աց" ; + Pl => base_1+"ացին" + } + } ; + participle = table { + Resultative => base_1+"ացած" ; + Subject => base_1+"ացող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"այի" ; + Pl => base_1+"այինք" + } ; + P2 => table { + Sg => base_1+"այիր" ; + Pl => base_1+"այիք" + } ; + P3 => table { + Sg => base_1+"ար" ; + Pl => base_1+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"ամ" ; + Pl => base_1+"անք" + } ; + P2 => table { + Sg => base_1+"աս" ; + Pl => base_1+"աք" + } ; + P3 => table { + Sg => base_1+"այ" ; + Pl => base_1+"ան" + } + } + } + }; + _ => error "Can't apply paradigm mkV011" + } ; + +mkV012 : Str -> V ; +mkV012 base = + case base of { + base_1+"ել" => lin V + { s = base_1+"ել" ; + causative = base_1+"եցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"էի" ; + Pl => "կ"+base_1+"էինք" + } ; + P2 => table { + Sg => "կ"+base_1+"էիր" ; + Pl => "կ"+base_1+"էիք" + } ; + P3 => table { + Sg => "կ"+base_1+"էր" ; + Pl => "կ"+base_1+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"եմ" ; + Pl => "կ"+base_1+"ենք" + } ; + P2 => table { + Sg => "կ"+base_1+"ես" ; + Pl => "կ"+base_1+"էք" + } ; + P3 => table { + Sg => "կ"+base_1+"ի" ; + Pl => "կ"+base_1+"են" + } + } + } ; + converb = { imperfective = base_1+"ում" ; + futCon1 =base_1+"ելու" ; + futCon2 = base_1+"ելիք" ; + negative = base_1+"ի" ; + perfective = base_1+"ել" ; + simultaneous = base_1+"ելիս" + } ; + imperative = table { + Sg => base_1+"ի՛ր" ; + Pl => base_1+"է՛ք" + } ; + passive = base_1+"ուել" ; + past = table { + P1 => table { + Sg => base_1+"եցի" ; + Pl => base_1+"եցինք" + } ; + P2 => table { + Sg => base_1+"եցիր" ; + Pl => base_1+"եցիք" + } ; + P3 => table { + Sg => base_1+"եց" ; + Pl => base_1+"եցին" + } + } ; + participle = table { + Resultative => base_1+"ած" ; + Subject => base_1+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"էի" ; + Pl => base_1+"էինք" + } ; + P2 => table { + Sg => base_1+"էիր" ; + Pl => base_1+"էիք" + } ; + P3 => table { + Sg => base_1+"էր" ; + Pl => base_1+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"եմ" ; + Pl => base_1+"ենք" + } ; + P2 => table { + Sg => base_1+"ես" ; + Pl => base_1+"էք" + } ; + P3 => table { + Sg => base_1+"ի" ; + Pl => base_1+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV012" + } ; + +mkV013 : Str -> V ; +mkV013 base = + case base of { + base_1@?+base_2+"ել" => lin V + { s = base_1+base_2+"ել" ; + causative = base_1+base_2+"եցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"եի" ; + Pl => base_1+"կ"+base_2+"եինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"եիր" ; + Pl => base_1+"կ"+base_2+"եիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"եր" ; + Pl => base_1+"կ"+base_2+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"եմ" ; + Pl => base_1+"կ"+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"ես" ; + Pl => base_1+"կ"+base_2+"եք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ի" ; + Pl => base_1+"կ"+base_2+"են" + } + } + } ; + converb = { imperfective = base_1+base_2+"ում" ; + futCon1 =base_1+base_2+"ելու" ; + futCon2 = base_1+base_2+"ելիք" ; + negative = base_1+base_2+"ի" ; + perfective = base_1+base_2+"ել" ; + simultaneous = base_1+base_2+"ելիս" + } ; + imperative = table { + Sg => base_1+base_2+"ի՛ր" ; + Pl => base_1+base_2+"ե՛ք" + } ; + passive = base_1+base_2+"վել" ; + past = table { + P1 => table { + Sg => base_1+base_2+"եցի" ; + Pl => base_1+base_2+"եցինք" + } ; + P2 => table { + Sg => base_1+base_2+"եցիր" ; + Pl => base_1+base_2+"եցիք" + } ; + P3 => table { + Sg => base_1+base_2+"եց" ; + Pl => base_1+base_2+"եցին" + } + } ; + participle = table { + Resultative => base_1+base_2+"ած" ; + Subject => base_1+base_2+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"եի" ; + Pl => base_1+base_2+"եինք" + } ; + P2 => table { + Sg => base_1+base_2+"եիր" ; + Pl => base_1+base_2+"եիք" + } ; + P3 => table { + Sg => base_1+base_2+"եր" ; + Pl => base_1+base_2+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"եմ" ; + Pl => base_1+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+base_2+"ես" ; + Pl => base_1+base_2+"եք" + } ; + P3 => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV013" + } ; + +mkV014 : Str -> V ; +mkV014 base = + case base of { + base_1+base_2@(?+?)+"նել" => lin V + { s = base_1+base_2+"նել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նեի" ; + Pl => base_1+"կ"+base_2+"նեինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նեիր" ; + Pl => base_1+"կ"+base_2+"նեիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ներ" ; + Pl => base_1+"կ"+base_2+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նեմ" ; + Pl => base_1+"կ"+base_2+"նենք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նես" ; + Pl => base_1+"կ"+base_2+"նեք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"նի" ; + Pl => base_1+"կ"+base_2+"նեն" + } + } + } ; + converb = { imperfective = base_1+base_2+"նում" ; + futCon1 =base_1+base_2+"նելու" ; + futCon2 = base_1+base_2+"նելիք" ; + negative = base_1+base_2+"նի" ; + perfective = base_1+base_2+"ել" ; + simultaneous = base_1+base_2+"նելիս" + } ; + imperative = table { + Sg => base_1+base_2+"ի՛ր" ; + Pl => base_1+base_2+"ե՛ք" + } ; + passive = base_1+base_2+"նվել" ; + past = table { + P1 => table { + Sg => base_1+base_2+"ա" ; + Pl => base_1+base_2+"անք" + } ; + P2 => table { + Sg => base_1+base_2+"ար" ; + Pl => base_1+base_2+"աք" + } ; + P3 => table { + Sg => base_1+base_2+"ավ" ; + Pl => base_1+base_2+"ան" + } + } ; + participle = table { + Resultative => base_1+base_2+"ած" ; + Subject => base_1+base_2+"նող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"նեի" ; + Pl => base_1+base_2+"նեինք" + } ; + P2 => table { + Sg => base_1+base_2+"նեիր" ; + Pl => base_1+base_2+"նեիք" + } ; + P3 => table { + Sg => base_1+base_2+"ներ" ; + Pl => base_1+base_2+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"նեմ" ; + Pl => base_1+base_2+"նենք" + } ; + P2 => table { + Sg => base_1+base_2+"նես" ; + Pl => base_1+base_2+"նեք" + } ; + P3 => table { + Sg => base_1+base_2+"նի" ; + Pl => base_1+base_2+"նեն" + } + } + } + }; + _ => error "Can't apply paradigm mkV014" + } ; + +mkV015 : Str -> V ; +mkV015 base = + case base of { + base_1@?+base_2+"նալ" => lin V + { s = base_1+base_2+"նալ" ; + causative = base_1+base_2+"ցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նայի" ; + Pl => base_1+"կ"+base_2+"նայինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նայիր" ; + Pl => base_1+"կ"+base_2+"նայիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"նար" ; + Pl => base_1+"կ"+base_2+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նամ" ; + Pl => base_1+"կ"+base_2+"նանք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նաս" ; + Pl => base_1+"կ"+base_2+"նաք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"նա" ; + Pl => base_1+"կ"+base_2+"նան" + } + } + } ; + converb = { imperfective = base_1+base_2+"նում" ; + futCon1 =base_1+base_2+"նալու" ; + futCon2 = base_1+base_2+"նալիք" ; + negative = base_1+base_2+"նա" ; + perfective = base_1+base_2+"ցել" ; + simultaneous = base_1+base_2+"նալիս" + } ; + imperative = table { + Sg => base_1+base_2+"ցի՛ր" ; + Pl => base_1+base_2+"ցե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+base_2+"ցա" ; + Pl => base_1+base_2+"ցանք" + } ; + P2 => table { + Sg => base_1+base_2+"ցար" ; + Pl => base_1+base_2+"ցաք" + } ; + P3 => table { + Sg => base_1+base_2+"ցավ" ; + Pl => base_1+base_2+"ցան" + } + } ; + participle = table { + Resultative => base_1+base_2+"ցած" ; + Subject => base_1+base_2+"ցող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"նայի" ; + Pl => base_1+base_2+"նայինք" + } ; + P2 => table { + Sg => base_1+base_2+"նայիր" ; + Pl => base_1+base_2+"նայիք" + } ; + P3 => table { + Sg => base_1+base_2+"նար" ; + Pl => base_1+base_2+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"նամ" ; + Pl => base_1+base_2+"նանք" + } ; + P2 => table { + Sg => base_1+base_2+"նաս" ; + Pl => base_1+base_2+"նաք" + } ; + P3 => table { + Sg => base_1+base_2+"նա" ; + Pl => base_1+base_2+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV015" + } ; + +mkV016 : Str -> V ; +mkV016 base = + case base of { + base_1+base_2@(?+?+?+?)+"ել" => lin V + { s = base_1+base_2+"ել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"էի" ; + Pl => base_1+"կ"+base_2+"էինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"էիր" ; + Pl => base_1+"կ"+base_2+"էիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"էր" ; + Pl => base_1+"կ"+base_2+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"եմ" ; + Pl => base_1+"կ"+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"ես" ; + Pl => base_1+"կ"+base_2+"էք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ի" ; + Pl => base_1+"կ"+base_2+"են" + } + } + } ; + converb = { imperfective = base_1+base_2+"ում" ; + futCon1 =base_1+base_2+"ելու" ; + futCon2 = base_1+base_2+"ելիք" ; + negative = base_1+base_2+"ի" ; + perfective = base_1+base_2+"ել" ; + simultaneous = base_1+base_2+"ելիս" + } ; + imperative = table { + Sg => base_1+base_2+"ի՛ր" ; + Pl => base_1+base_2+"է՛ք" + } ; + passive = base_1+base_2+"ուել" ; + past = table { + P1 => table { + Sg => base_1+base_2+"եցի" ; + Pl => base_1+base_2+"եցինք" + } ; + P2 => table { + Sg => base_1+base_2+"եցիր" ; + Pl => base_1+base_2+"եցիք" + } ; + P3 => table { + Sg => base_1+base_2+"եց" ; + Pl => base_1+base_2+"եցին" + } + } ; + participle = table { + Resultative => base_1+base_2+"ած" ; + Subject => base_1+base_2+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"էի" ; + Pl => base_1+base_2+"էինք" + } ; + P2 => table { + Sg => base_1+base_2+"էիր" ; + Pl => base_1+base_2+"էիք" + } ; + P3 => table { + Sg => base_1+base_2+"էր" ; + Pl => base_1+base_2+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"եմ" ; + Pl => base_1+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+base_2+"ես" ; + Pl => base_1+base_2+"էք" + } ; + P3 => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV016" + } ; + +mkV017 : Str -> V ; +mkV017 base = + case base of { + base_1+base_2@(?+?+?)+"նել" => lin V + { s = base_1+base_2+"նել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նեի" ; + Pl => base_1+"կ"+base_2+"նեինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նեիր" ; + Pl => base_1+"կ"+base_2+"նեիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ներ" ; + Pl => base_1+"կ"+base_2+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"նեմ" ; + Pl => base_1+"կ"+base_2+"նենք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"նես" ; + Pl => base_1+"կ"+base_2+"նեք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"նի" ; + Pl => base_1+"կ"+base_2+"նեն" + } + } + } ; + converb = { imperfective = base_1+base_2+"նում" ; + futCon1 =base_1+base_2+"նելու" ; + futCon2 = base_1+base_2+"նելիք" ; + negative = base_1+base_2+"նի" ; + perfective = base_1+base_2+"րել" ; + simultaneous = base_1+base_2+"նելիս" + } ; + imperative = table { + Sg => base_1+base_2+"րո՛ւ" ; + Pl => base_1+base_2+"րե՛ք" + } ; + passive = base_1+base_2+"վել" ; + past = table { + P1 => table { + Sg => base_1+base_2+"րի" ; + Pl => base_1+base_2+"րինք" + } ; + P2 => table { + Sg => base_1+base_2+"րիր" ; + Pl => base_1+base_2+"րիք" + } ; + P3 => table { + Sg => base_1+base_2+"րեց" ; + Pl => base_1+base_2+"րին" + } + } ; + participle = table { + Resultative => base_1+base_2+"րած" ; + Subject => base_1+base_2+"նող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"նեի" ; + Pl => base_1+base_2+"նեինք" + } ; + P2 => table { + Sg => base_1+base_2+"նեիր" ; + Pl => base_1+base_2+"նեիք" + } ; + P3 => table { + Sg => base_1+base_2+"ներ" ; + Pl => base_1+base_2+"նեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"նեմ" ; + Pl => base_1+base_2+"նենք" + } ; + P2 => table { + Sg => base_1+base_2+"նես" ; + Pl => base_1+base_2+"նեք" + } ; + P3 => table { + Sg => base_1+base_2+"նի" ; + Pl => base_1+base_2+"նեն" + } + } + } + }; + _ => error "Can't apply paradigm mkV017" + } ; + +mkV018 : Str -> V ; +mkV018 base = + case base of { + base_1+"ել" => lin V + { s = base_1+"ել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կեի" ; + Pl => base_1+"կեինք" + } ; + P2 => table { + Sg => base_1+"կեիր" ; + Pl => base_1+"կեիք" + } ; + P3 => table { + Sg => base_1+"կեր" ; + Pl => base_1+"կեին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կեմ" ; + Pl => base_1+"կենք" + } ; + P2 => table { + Sg => base_1+"կես" ; + Pl => base_1+"կեք" + } ; + P3 => table { + Sg => base_1+"կի" ; + Pl => base_1+"կեն" + } + } + } ; + converb = { imperfective = base_1+"ում" ; + futCon1 =base_1+"ելու" ; + futCon2 = base_1+"ելիք" ; + negative = base_1+"ի" ; + perfective = base_1+"ել" ; + simultaneous = base_1+"ելիս" + } ; + imperative = table { + Sg => base_1+"ի՛ր" ; + Pl => base_1+"ե՛ք" + } ; + passive = base_1+"վել" ; + past = table { + P1 => table { + Sg => base_1+"եցի" ; + Pl => base_1+"եցինք" + } ; + P2 => table { + Sg => base_1+"եցիր" ; + Pl => base_1+"եցիք" + } ; + P3 => table { + Sg => base_1+"եց" ; + Pl => base_1+"եցին" + } + } ; + participle = table { + Resultative => base_1+"ած" ; + Subject => base_1+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"եի" ; + Pl => base_1+"եինք" + } ; + P2 => table { + Sg => base_1+"եիր" ; + Pl => base_1+"եիք" + } ; + P3 => table { + Sg => base_1+"եր" ; + Pl => base_1+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"եմ" ; + Pl => base_1+"ենք" + } ; + P2 => table { + Sg => base_1+"ես" ; + Pl => base_1+"եք" + } ; + P3 => table { + Sg => base_1+"ի" ; + Pl => base_1+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV018" + } ; + +mkV019 : Str -> V ; +mkV019 base = + case base of { + base_1+base_2@(?+?+?)+"ալ" => lin V + { s = base_1+base_2+"ալ" ; + causative = base_1+base_2+"ացնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => base_1+"կ"+base_2+"այի" ; + Pl => base_1+"կ"+base_2+"այինք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"այիր" ; + Pl => base_1+"կ"+base_2+"այիք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ար" ; + Pl => base_1+"կ"+base_2+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"կ"+base_2+"ամ" ; + Pl => base_1+"կ"+base_2+"անք" + } ; + P2 => table { + Sg => base_1+"կ"+base_2+"աս" ; + Pl => base_1+"կ"+base_2+"աք" + } ; + P3 => table { + Sg => base_1+"կ"+base_2+"ա" ; + Pl => base_1+"կ"+base_2+"ան" + } + } + } ; + converb = { imperfective = base_1+base_2+"ում" ; + futCon1 =base_1+base_2+"ալու" ; + futCon2 = base_1+base_2+"ալիք" ; + negative = base_1+base_2+"ա" ; + perfective = base_1+base_2+"ացել" ; + simultaneous = base_1+base_2+"ալիս" + } ; + imperative = table { + Sg => base_1+base_2+"ա՛" ; + Pl => base_1+base_2+"ացե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+base_2+"ացի" ; + Pl => base_1+base_2+"ացինք" + } ; + P2 => table { + Sg => base_1+base_2+"ացիր" ; + Pl => base_1+base_2+"ացիք" + } ; + P3 => table { + Sg => base_1+base_2+"աց" ; + Pl => base_1+base_2+"ացին" + } + } ; + participle = table { + Resultative => base_1+base_2+"ացած" ; + Subject => base_1+base_2+"ացող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"այի" ; + Pl => base_1+base_2+"այինք" + } ; + P2 => table { + Sg => base_1+base_2+"այիր" ; + Pl => base_1+base_2+"այիք" + } ; + P3 => table { + Sg => base_1+base_2+"ար" ; + Pl => base_1+base_2+"ային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"ամ" ; + Pl => base_1+base_2+"անք" + } ; + P2 => table { + Sg => base_1+base_2+"աս" ; + Pl => base_1+base_2+"աք" + } ; + P3 => table { + Sg => base_1+base_2+"ա" ; + Pl => base_1+base_2+"ան" + } + } + } + }; + _ => error "Can't apply paradigm mkV019" + } ; + +mkV020 : Str -> V ; +mkV020 base = + case base of { + base_1+"նալ" => lin V + { s = base_1+"նալ" ; + causative = base_1+"ցնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նայի" ; + Pl => "կ"+base_1+"նայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նայիր" ; + Pl => "կ"+base_1+"նայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"նար" ; + Pl => "կ"+base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նամ" ; + Pl => "կ"+base_1+"նանք" + } ; + P2 => table { + Sg => "կ"+base_1+"նաս" ; + Pl => "կ"+base_1+"նաք" + } ; + P3 => table { + Sg => "կ"+base_1+"նայ" ; + Pl => "կ"+base_1+"նան" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նալու" ; + futCon2 = base_1+"նալիք" ; + negative = base_1+"նայ" ; + perfective = base_1+"ցել" ; + simultaneous = base_1+"նալիս" + } ; + imperative = table { + Sg => base_1+"ցի՛ր" ; + Pl => base_1+"ցէ՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ցայ" ; + Pl => base_1+"ցանք" + } ; + P2 => table { + Sg => base_1+"ցար" ; + Pl => base_1+"ցաք" + } ; + P3 => table { + Sg => base_1+"ցաւ" ; + Pl => base_1+"ցան" + } + } ; + participle = table { + Resultative => base_1+"ցած" ; + Subject => base_1+"ցող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նայի" ; + Pl => base_1+"նայինք" + } ; + P2 => table { + Sg => base_1+"նայիր" ; + Pl => base_1+"նայիք" + } ; + P3 => table { + Sg => base_1+"նար" ; + Pl => base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նամ" ; + Pl => base_1+"նանք" + } ; + P2 => table { + Sg => base_1+"նաս" ; + Pl => base_1+"նաք" + } ; + P3 => table { + Sg => base_1+"նայ" ; + Pl => base_1+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV020" + } ; + +mkV021 : Str -> V ; +mkV021 base = + case base of { + base_1+base_2@(?+?)+"ել" => lin V + { s = base_1+base_2+"ել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+base_2+"էի" ; + Pl => "կ"+base_1+base_2+"էինք" + } ; + P2 => table { + Sg => "կ"+base_1+base_2+"էիր" ; + Pl => "կ"+base_1+base_2+"էիք" + } ; + P3 => table { + Sg => "կ"+base_1+base_2+"էր" ; + Pl => "կ"+base_1+base_2+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+base_2+"եմ" ; + Pl => "կ"+base_1+base_2+"ենք" + } ; + P2 => table { + Sg => "կ"+base_1+base_2+"ես" ; + Pl => "կ"+base_1+base_2+"էք" + } ; + P3 => table { + Sg => "կ"+base_1+base_2+"ի" ; + Pl => "կ"+base_1+base_2+"են" + } + } + } ; + converb = { imperfective = base_1+"ւ"+base_2+"մ" ; + futCon1 =base_1+base_2+"ելու" ; + futCon2 = base_1+base_2+"ելիք" ; + negative = base_1+base_2+"ի" ; + perfective = base_1+base_2+"ել" ; + simultaneous = base_1+base_2+"ելիս" + } ; + imperative = table { + Sg => base_1+base_2+"ի՛ր" ; + Pl => base_1+base_2+"է՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+base_2+"եցի" ; + Pl => base_1+base_2+"եցինք" + } ; + P2 => table { + Sg => base_1+base_2+"եցիր" ; + Pl => base_1+base_2+"եցիք" + } ; + P3 => table { + Sg => base_1+base_2+"եց" ; + Pl => base_1+base_2+"եցին" + } + } ; + participle = table { + Resultative => base_1+base_2+"ած" ; + Subject => base_1+base_2+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"էի" ; + Pl => base_1+base_2+"էինք" + } ; + P2 => table { + Sg => base_1+base_2+"էիր" ; + Pl => base_1+base_2+"էիք" + } ; + P3 => table { + Sg => base_1+base_2+"էր" ; + Pl => base_1+base_2+"էին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"եմ" ; + Pl => base_1+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+base_2+"ես" ; + Pl => base_1+base_2+"էք" + } ; + P3 => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV021" + } ; + +mkV022 : Str -> V ; +mkV022 base = + case base of { + base_1+"ռնալ" => lin V + { s = base_1+"ռնալ" ; + causative = base_1+"րձնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"ռնայի" ; + Pl => "կ"+base_1+"ռնայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"ռնայիր" ; + Pl => "կ"+base_1+"ռնայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"ռնար" ; + Pl => "կ"+base_1+"ռնային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"ռնամ" ; + Pl => "կ"+base_1+"ռնանք" + } ; + P2 => table { + Sg => "կ"+base_1+"ռնաս" ; + Pl => "կ"+base_1+"ռնաք" + } ; + P3 => table { + Sg => "կ"+base_1+"ռնա" ; + Pl => "կ"+base_1+"ռնան" + } + } + } ; + converb = { imperfective = base_1+"ռնում" ; + futCon1 =base_1+"ռնալու" ; + futCon2 = base_1+"ռնալիք" ; + negative = base_1+"ռնա" ; + perfective = base_1+"րձել" ; + simultaneous = base_1+"ռնալիս" + } ; + imperative = table { + Sg => base_1+"րձի՛ր" ; + Pl => base_1+"րձե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"րձա" ; + Pl => base_1+"րձանք" + } ; + P2 => table { + Sg => base_1+"րձար" ; + Pl => base_1+"րձաք" + } ; + P3 => table { + Sg => base_1+"րձավ" ; + Pl => base_1+"րձան" + } + } ; + participle = table { + Resultative => base_1+"րձած" ; + Subject => base_1+"րձող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"ռնայի" ; + Pl => base_1+"ռնայինք" + } ; + P2 => table { + Sg => base_1+"ռնայիր" ; + Pl => base_1+"ռնայիք" + } ; + P3 => table { + Sg => base_1+"ռնար" ; + Pl => base_1+"ռնային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"ռնամ" ; + Pl => base_1+"ռնանք" + } ; + P2 => table { + Sg => base_1+"ռնաս" ; + Pl => base_1+"ռնաք" + } ; + P3 => table { + Sg => base_1+"ռնա" ; + Pl => base_1+"ռնան" + } + } + } + }; + _ => error "Can't apply paradigm mkV022" + } ; + +mkV023 : Str -> V ; +mkV023 base = + case base of { + base_1+"նալ" => lin V + { s = base_1+"նալ" ; + causative = base_1+"սնել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նայի" ; + Pl => "կ"+base_1+"նայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նայիր" ; + Pl => "կ"+base_1+"նայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"նար" ; + Pl => "կ"+base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նամ" ; + Pl => "կ"+base_1+"նանք" + } ; + P2 => table { + Sg => "կ"+base_1+"նաս" ; + Pl => "կ"+base_1+"նաք" + } ; + P3 => table { + Sg => "կ"+base_1+"նա" ; + Pl => "կ"+base_1+"նան" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նալու" ; + futCon2 = base_1+"նալիք" ; + negative = base_1+"նա" ; + perfective = base_1+"սել" ; + simultaneous = base_1+"նալիս" + } ; + imperative = table { + Sg => nonExist ; + Pl => base_1+"սե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"սա" ; + Pl => base_1+"սանք" + } ; + P2 => table { + Sg => base_1+"սար" ; + Pl => base_1+"սաք" + } ; + P3 => table { + Sg => base_1+"սավ" ; + Pl => base_1+"սան" + } + } ; + participle = table { + Resultative => base_1+"սած" ; + Subject => base_1+"սող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նայի" ; + Pl => base_1+"նայինք" + } ; + P2 => table { + Sg => base_1+"նայիր" ; + Pl => base_1+"նայիք" + } ; + P3 => table { + Sg => base_1+"նար" ; + Pl => base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նամ" ; + Pl => base_1+"նանք" + } ; + P2 => table { + Sg => base_1+"նաս" ; + Pl => base_1+"նաք" + } ; + P3 => table { + Sg => base_1+"նա" ; + Pl => base_1+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV023" + } ; + +mkV024 : Str -> V ; +mkV024 base = + case base of { + base_1+"նալ" => lin V + { s = base_1+"նալ" ; + causative = base_1+"նել" ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+"նայի" ; + Pl => "կ"+base_1+"նայինք" + } ; + P2 => table { + Sg => "կ"+base_1+"նայիր" ; + Pl => "կ"+base_1+"նայիք" + } ; + P3 => table { + Sg => "կ"+base_1+"նար" ; + Pl => "կ"+base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+"նամ" ; + Pl => "կ"+base_1+"նանք" + } ; + P2 => table { + Sg => "կ"+base_1+"նաս" ; + Pl => "կ"+base_1+"նաք" + } ; + P3 => table { + Sg => "կ"+base_1+"նա" ; + Pl => "կ"+base_1+"նան" + } + } + } ; + converb = { imperfective = base_1+"նում" ; + futCon1 =base_1+"նալու" ; + futCon2 = base_1+"նալիք" ; + negative = base_1+"նա" ; + perfective = base_1+"ել" ; + simultaneous = base_1+"նալիս" + } ; + imperative = table { + Sg => nonExist ; + Pl => base_1+"ե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+"ա" ; + Pl => base_1+"անք" + } ; + P2 => table { + Sg => base_1+"ար" ; + Pl => base_1+"աք" + } ; + P3 => table { + Sg => base_1+"ավ" ; + Pl => base_1+"ան" + } + } ; + participle = table { + Resultative => base_1+"ած" ; + Subject => base_1+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+"նայի" ; + Pl => base_1+"նայինք" + } ; + P2 => table { + Sg => base_1+"նայիր" ; + Pl => base_1+"նայիք" + } ; + P3 => table { + Sg => base_1+"նար" ; + Pl => base_1+"նային" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+"նամ" ; + Pl => base_1+"նանք" + } ; + P2 => table { + Sg => base_1+"նաս" ; + Pl => base_1+"նաք" + } ; + P3 => table { + Sg => base_1+"նա" ; + Pl => base_1+"նան" + } + } + } + }; + _ => error "Can't apply paradigm mkV024" + } ; + +mkV025 : Str -> V ; +mkV025 base = + case base of { + base_1+base_2@?+"ել" => lin V + { s = base_1+base_2+"ել" ; + causative = nonExist ; + conditional = table { + Perfect => table { + P1 => table { + Sg => "կ"+base_1+base_2+"եի" ; + Pl => "կ"+base_1+base_2+"եինք" + } ; + P2 => table { + Sg => "կ"+base_1+base_2+"եիր" ; + Pl => "կ"+base_1+base_2+"եիք" + } ; + P3 => table { + Sg => "կ"+base_1+base_2+"եր" ; + Pl => "կ"+base_1+base_2+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => "կ"+base_1+base_2+"եմ" ; + Pl => "կ"+base_1+base_2+"ենք" + } ; + P2 => table { + Sg => "կ"+base_1+base_2+"ես" ; + Pl => "կ"+base_1+base_2+"եք" + } ; + P3 => table { + Sg => "կ"+base_1+base_2+"ի" ; + Pl => "կ"+base_1+base_2+"են" + } + } + } ; + converb = { imperfective = base_1+base_2+"ում" ; + futCon1 =base_1+base_2+"ելու" ; + futCon2 = base_1+base_2+"ելիք" ; + negative = base_1+base_2+"ի" ; + perfective = base_1+base_2+"ել" ; + simultaneous = base_1+base_2+"ելիս" + } ; + imperative = table { + Sg => base_1+"՛"+base_2 ; + Pl => base_1+base_2+"ե՛ք" + } ; + passive = nonExist ; + past = table { + P1 => table { + Sg => base_1+base_2+"եցի" ; + Pl => base_1+base_2+"եցինք" + } ; + P2 => table { + Sg => base_1+base_2+"եցիր" ; + Pl => base_1+base_2+"եցիք" + } ; + P3 => table { + Sg => base_1+base_2+"եց" ; + Pl => base_1+base_2+"եցին" + } + } ; + participle = table { + Resultative => base_1+base_2+"ած" ; + Subject => base_1+base_2+"ող" + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => base_1+base_2+"եի" ; + Pl => base_1+base_2+"եինք" + } ; + P2 => table { + Sg => base_1+base_2+"եիր" ; + Pl => base_1+base_2+"եիք" + } ; + P3 => table { + Sg => base_1+base_2+"եր" ; + Pl => base_1+base_2+"եին" + } + } ; + Non_past => table { + P1 => table { + Sg => base_1+base_2+"եմ" ; + Pl => base_1+base_2+"ենք" + } ; + P2 => table { + Sg => base_1+base_2+"ես" ; + Pl => base_1+base_2+"եք" + } ; + P3 => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"են" + } + } + } + }; + _ => error "Can't apply paradigm mkV025" + } ; + +mkN001 : Str -> N ; +mkN001 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN001" + } ; + +mkN002 : Str -> N ; +mkN002 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"յի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"յից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"յով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"յում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"յին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"յիս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"յիցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"յովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"յումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"յիդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"յիցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"յովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"յումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN002" + } ; + +mkN003 : Str -> N ; +mkN003 base = + case base of { + base_1+"ի" => lin N + { s = table { + Nom => table { + Sg => base_1+"ի" ; + Pl => base_1+"իներ" + } ; + Dat => table { + Sg => base_1+"ու" ; + Pl => base_1+"իների" + } ; + Ablat => table { + Sg => base_1+"ուց" ; + Pl => base_1+"իներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"իներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"իներում" + } + } ; + def_dat = table { + Sg => base_1+"ուն" ; + Pl => base_1+"իներին" + } ; + def_nom = table { + Sg => base_1+"ին" ; + Pl => base_1+"իները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"իս" ; + Pl => base_1+"իներս" + } ; + Dat => table { + Sg => base_1+"ուս" ; + Pl => base_1+"իներիս" + } ; + Ablat => table { + Sg => base_1+"ուցս" ; + Pl => base_1+"իներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"իներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"իներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"իդ" ; + Pl => base_1+"իներդ" + } ; + Dat => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"իներիդ" + } ; + Ablat => table { + Sg => base_1+"ուցդ" ; + Pl => base_1+"իներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"իներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"իներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN003" + } ; + +mkN004 : Str -> N ; +mkN004 base = + case base of { + base_1+"ու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ան" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ամբ" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"անը" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"անս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"անդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN004" + } ; + +mkN005 : Str -> N ; +mkN005 base = + case base of { + base_1+"ու"+base_2@("ղթ"|"րչ"|"ղտ"|"մբ"|"րմ"|"նջ"|"նդ"|"րձ"|"րդ"|"րծք"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+base_2+"եր" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+base_2+"երից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+base_2+"երով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+base_2+"երում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+base_2+"երս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+base_2+"երովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+base_2+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+base_2+"երովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+base_2+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkN005" + } ; + +mkN006 : Str -> N ; +mkN006 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN006" + } ; + +mkN007 : Str -> N ; +mkN007 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"եր" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"երի" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"երից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"երով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"երում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"երին" + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => base_1+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"երս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"երիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"երիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"երովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"երդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"երիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"երովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkN007" + } ; + +mkN008 : Str -> N ; +mkN008 base = + case base of { + base_1+"իւն" => lin N + { s = table { + Nom => table { + Sg => base_1+"իւն" ; + Pl => base_1+"իւններ" + } ; + Dat => table { + Sg => base_1+"եան" ; + Pl => base_1+"իւնների" + } ; + Ablat => table { + Sg => base_1+"իւնից" ; + Pl => base_1+"իւններից" + } ; + Instr => table { + Sg => base_1+"եամբ" ; + Pl => base_1+"իւններով" + } ; + Loc => table { + Sg => base_1+"իւնում" ; + Pl => base_1+"իւններում" + } + } ; + def_dat = table { + Sg => base_1+"եանը" ; + Pl => base_1+"իւններին" + } ; + def_nom = table { + Sg => base_1+"իւնը" ; + Pl => base_1+"իւնները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"իւնս" ; + Pl => base_1+"իւններս" + } ; + Dat => table { + Sg => base_1+"եանս" ; + Pl => base_1+"իւններիս" + } ; + Ablat => table { + Sg => base_1+"իւնիցս" ; + Pl => base_1+"իւններիցս" + } ; + Instr => table { + Sg => base_1+"եամբս" ; + Pl => base_1+"իւններովս" + } ; + Loc => table { + Sg => base_1+"իւնումս" ; + Pl => base_1+"իւններումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"իւնդ" ; + Pl => base_1+"իւններդ" + } ; + Dat => table { + Sg => base_1+"եանդ" ; + Pl => base_1+"իւններիդ" + } ; + Ablat => table { + Sg => base_1+"իւնիցդ" ; + Pl => base_1+"իւններիցդ" + } ; + Instr => table { + Sg => base_1+"եամբդ" ; + Pl => base_1+"իւններովդ" + } ; + Loc => table { + Sg => base_1+"իւնումդ" ; + Pl => base_1+"իւններումդ" + } + } + }; + _ => error "Can't apply paradigm mkN008" + } ; + +mkN009 : Str -> N ; +mkN009 base = + case base of { + base_1+"ուն" => lin N + { s = table { + Nom => table { + Sg => base_1+"ուն" ; + Pl => base_1+"ուններ" + } ; + Dat => table { + Sg => base_1+"վան" ; + Pl => base_1+"ունների" + } ; + Ablat => table { + Sg => base_1+"ունից" ; + Pl => base_1+"ուններից" + } ; + Instr => table { + Sg => base_1+"վամբ" ; + Pl => base_1+"ուններով" + } ; + Loc => table { + Sg => base_1+"ունում" ; + Pl => base_1+"ուններում" + } + } ; + def_dat = table { + Sg => base_1+"վանը" ; + Pl => base_1+"ուններին" + } ; + def_nom = table { + Sg => base_1+"ունը" ; + Pl => base_1+"ունները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ունս" ; + Pl => base_1+"ուններս" + } ; + Dat => table { + Sg => base_1+"վանս" ; + Pl => base_1+"ուններիս" + } ; + Ablat => table { + Sg => base_1+"ունիցս" ; + Pl => base_1+"ուններիցս" + } ; + Instr => table { + Sg => base_1+"ունովս" ; + Pl => base_1+"ուններովս" + } ; + Loc => table { + Sg => base_1+"ունումս" ; + Pl => base_1+"ուններումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ունդ" ; + Pl => base_1+"ուններդ" + } ; + Dat => table { + Sg => base_1+"վանդ" ; + Pl => base_1+"ուններիդ" + } ; + Ablat => table { + Sg => base_1+"ունիցդ" ; + Pl => base_1+"ուններիցդ" + } ; + Instr => table { + Sg => base_1+"ունովդ" ; + Pl => base_1+"ուններովդ" + } ; + Loc => table { + Sg => base_1+"ունումդ" ; + Pl => base_1+"ուններումդ" + } + } + }; + _ => error "Can't apply paradigm mkN009" + } ; + +mkN010 : Str -> N ; +mkN010 base = + case base of { + base_1+"ուն" => lin N + { s = table { + Nom => table { + Sg => base_1+"ուն" ; + Pl => base_1+"ուններ" + } ; + Dat => table { + Sg => base_1+"ան" ; + Pl => base_1+"ունների" + } ; + Ablat => table { + Sg => base_1+"ունից" ; + Pl => base_1+"ուններից" + } ; + Instr => table { + Sg => base_1+"ամբ" ; + Pl => base_1+"ուններով" + } ; + Loc => table { + Sg => base_1+"ունում" ; + Pl => base_1+"ուններում" + } + } ; + def_dat = table { + Sg => base_1+"անը" ; + Pl => base_1+"ուններին" + } ; + def_nom = table { + Sg => base_1+"ունը" ; + Pl => base_1+"ունները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ունս" ; + Pl => base_1+"ուններս" + } ; + Dat => table { + Sg => base_1+"անս" ; + Pl => base_1+"ուններիս" + } ; + Ablat => table { + Sg => base_1+"ունիցս" ; + Pl => base_1+"ուններիցս" + } ; + Instr => table { + Sg => base_1+"ամբս" ; + Pl => base_1+"ուններովս" + } ; + Loc => table { + Sg => base_1+"ունումս" ; + Pl => base_1+"ուններումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ունդ" ; + Pl => base_1+"ուններդ" + } ; + Dat => table { + Sg => base_1+"անդ" ; + Pl => base_1+"ուններիդ" + } ; + Ablat => table { + Sg => base_1+"ունիցդ" ; + Pl => base_1+"ուններիցդ" + } ; + Instr => table { + Sg => base_1+"ամբդ" ; + Pl => base_1+"ուններովդ" + } ; + Loc => table { + Sg => base_1+"ունումդ" ; + Pl => base_1+"ուններումդ" + } + } + }; + _ => error "Can't apply paradigm mkN010" + } ; + +mkN011 : Str -> N ; +mkN011 base = + case base of { + base_1+"ե"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ե"+base_2 ; + Pl => base_1+"ե"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2 ; + Pl => base_1+"ե"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"ից" ; + Pl => base_1+"ե"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ով" ; + Pl => base_1+"ե"+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ո"+base_2+"ը" ; + Pl => base_1+"ե"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ե"+base_2+"ը" ; + Pl => base_1+"ե"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"ս" ; + Pl => base_1+"ե"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"ս" ; + Pl => base_1+"ե"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցս" ; + Pl => base_1+"ե"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովս" ; + Pl => base_1+"ե"+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"դ" ; + Pl => base_1+"ե"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"դ" ; + Pl => base_1+"ե"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցդ" ; + Pl => base_1+"ե"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովդ" ; + Pl => base_1+"ե"+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN011" + } ; + +mkN012 : Str -> N ; +mkN012 base = + case base of { + base_1+"ու" => lin N + { s = table { + Nom => table { + Sg => base_1+"ու" ; + Pl => base_1+"ուներ" + } ; + Dat => table { + Sg => base_1+"վի" ; + Pl => base_1+"ուների" + } ; + Ablat => table { + Sg => base_1+"վից" ; + Pl => base_1+"ուներից" + } ; + Instr => table { + Sg => base_1+"վով" ; + Pl => base_1+"ուներով" + } ; + Loc => table { + Sg => base_1+"վում" ; + Pl => base_1+"ուներում" + } + } ; + def_dat = table { + Sg => base_1+"վին" ; + Pl => base_1+"ուներին" + } ; + def_nom = table { + Sg => base_1+"ուն" ; + Pl => base_1+"ուները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ուս" ; + Pl => base_1+"ուներս" + } ; + Dat => table { + Sg => base_1+"վիս" ; + Pl => base_1+"ուներիս" + } ; + Ablat => table { + Sg => base_1+"վիցս" ; + Pl => base_1+"ուներիցս" + } ; + Instr => table { + Sg => base_1+"վովս" ; + Pl => base_1+"ուներովս" + } ; + Loc => table { + Sg => base_1+"վումս" ; + Pl => base_1+"ուներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"ուներդ" + } ; + Dat => table { + Sg => base_1+"վիդ" ; + Pl => base_1+"ուներիդ" + } ; + Ablat => table { + Sg => base_1+"վիցդ" ; + Pl => base_1+"ուներիցդ" + } ; + Instr => table { + Sg => base_1+"վովդ" ; + Pl => base_1+"ուներովդ" + } ; + Loc => table { + Sg => base_1+"վումդ" ; + Pl => base_1+"ուներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN012" + } ; + +mkN013 : Str -> N ; +mkN013 base = + case base of { + base_1+"ի"+base_2@("շկ"|"ստ"|"նք"|"նձ"|"նջ"|"սպ"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ի"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+"ի"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+"ի"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+"ի"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+"ի"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+"ի"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+"ի"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ի"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+"ի"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+"ի"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+"ի"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+"ի"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ի"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+"ի"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+"ի"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+"ի"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+"ի"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN013" + } ; + +mkN014 : Str -> N ; +mkN014 base = + case base of { + base_1+"ի"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"վա" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"վանից" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"վան" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"վաս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"վանիցս" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"վադ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"վանիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN014" + } ; + +mkN015 : Str -> N ; +mkN015 base = + case base of { + base_1+"ի"+base_2@("նչ"|"շտ"|"րք"|"րտ"|"րգ"|"նդ"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+base_2+"եր" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+base_2+"երից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+base_2+"երով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+base_2+"երում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+base_2+"երս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+base_2+"երովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+base_2+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+base_2+"երովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+base_2+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkN015" + } ; + +mkN016 : Str -> N ; +mkN016 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վա" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանից" ; + Pl => base_1+"ներից" --guessed + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"վան" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վաս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցս" ; + Pl => base_1+"ներիցս" --guessed + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" --guessed + } ; + Dat => table { + Sg => base_1+"վադ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN016" + } ; + +mkN017 : Str -> N ; +mkN017 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"եր" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"երի" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"երից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"երով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"երում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"երին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"երս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"երիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"երիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"երովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"երդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"երիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"երովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkN017" + } ; + +mkN018 : Str -> N ; +mkN018 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"ոջ" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"ոջից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"ոջով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ոջը" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"ոջս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ոջիցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ոջովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"ոջդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"ոջիցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ոջովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN018" + } ; + +mkN019 : Str -> N ; +mkN019 base = + case base of { + base_1+"ձն"+base_2@?+"նուն" => lin N + { s = table { + Nom => table { + Sg => base_1+"ձն"+base_2+"նուն" ; + Pl => base_1+"ձն"+base_2+"նուններ" + } ; + Dat => table { + Sg => base_1+"վ"+base_2+"ն" ; + Pl => base_1+"ձն"+base_2+"նունների" + } ; + Ablat => table { + Sg => base_1+"ձն"+base_2+"նունից" ; + Pl => base_1+"ձն"+base_2+"նուններից" + } ; + Instr => table { + Sg => base_1+"վ"+base_2+"մբ" ; + Pl => base_1+"ձն"+base_2+"նուններով" + } ; + Loc => table { + Sg => base_1+"ձն"+base_2+"նունում" ; + Pl => base_1+"ձն"+base_2+"նուններում" + } + } ; + def_dat = table { + Sg => base_1+"վ"+base_2+"նը" ; + Pl => base_1+"ձն"+base_2+"նուններին" + } ; + def_nom = table { + Sg => base_1+"ձն"+base_2+"նունը" ; + Pl => base_1+"ձն"+base_2+"նունները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ձն"+base_2+"նունս" ; + Pl => base_1+"ձն"+base_2+"նուններս" + } ; + Dat => table { + Sg => base_1+"վ"+base_2+"նս" ; + Pl => base_1+"ձն"+base_2+"նուններիս" + } ; + Ablat => table { + Sg => base_1+"ձն"+base_2+"նունիցս" ; + Pl => base_1+"ձն"+base_2+"նուններիցս" + } ; + Instr => table { + Sg => base_1+"ձն"+base_2+"նունովս" ; + Pl => base_1+"ձն"+base_2+"նուններովս" + } ; + Loc => table { + Sg => base_1+"ձն"+base_2+"նունումս" ; + Pl => base_1+"ձն"+base_2+"նուններումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ձն"+base_2+"նունդ" ; + Pl => base_1+"ձն"+base_2+"նուններդ" + } ; + Dat => table { + Sg => base_1+"վ"+base_2+"նդ" ; + Pl => base_1+"ձն"+base_2+"նուններիդ" + } ; + Ablat => table { + Sg => base_1+"ձն"+base_2+"նունիցդ" ; + Pl => base_1+"ձն"+base_2+"նուններիցդ" + } ; + Instr => table { + Sg => base_1+"ձն"+base_2+"նունովդ" ; + Pl => base_1+"ձն"+base_2+"նուններովդ" + } ; + Loc => table { + Sg => base_1+"ձն"+base_2+"նունումդ" ; + Pl => base_1+"ձն"+base_2+"նուններումդ" + } + } + }; + _ => error "Can't apply paradigm mkN019" + } ; + +mkN020 : Str -> N ; +mkN020 base = + case base of { + base_1+"ու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ան" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ով" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"անը" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"անս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"անդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN020" + } ; + +mkN021 : Str -> N ; +mkN021 base = + case base of { + base_1+"վա"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"վա"+base_2 ; + Pl => base_1+"վա"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ո" ; + Pl => base_1+"վա"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ուց" ; + Pl => base_1+"վա"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+"վա"+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ուն" ; + Pl => base_1+"վա"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"վա"+base_2+"ը" ; + Pl => base_1+"վա"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Ablat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Ablat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN021" + } ; + +mkN022 : Str -> N ; +mkN022 base = + case base of { + base_1+"եւ"+base_2@(?+?+?+?)+"ի"+base_3@? => lin N + { s = table { + Nom => table { + Sg => base_1+"եւ"+base_2+"ի"+base_3 ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներ" + } ; + Dat => table { + Sg => base_1+"և"+base_2+base_3+"ի" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ների" + } ; + Ablat => table { + Sg => base_1+"և"+base_2+base_3+"ից" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներից" + } ; + Instr => table { + Sg => base_1+"և"+base_2+base_3+"ով" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներով" + } ; + Loc => table { + Sg => base_1+"և"+base_2+base_3+"ում" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"և"+base_2+base_3+"ին" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներին" + } ; + def_nom = table { + Sg => base_1+"եւ"+base_2+"ի"+base_3+"ը" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"եւ"+base_2+"ի"+base_3+"ս" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներս" + } ; + Dat => table { + Sg => base_1+"և"+base_2+base_3+"իս" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներիս" + } ; + Ablat => table { + Sg => base_1+"և"+base_2+base_3+"իցս" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներիցս" + } ; + Instr => table { + Sg => base_1+"և"+base_2+base_3+"ովս" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներովս" + } ; + Loc => table { + Sg => base_1+"և"+base_2+base_3+"ումս" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"եւ"+base_2+"ի"+base_3+"դ" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներդ" + } ; + Dat => table { + Sg => base_1+"և"+base_2+base_3+"իդ" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"և"+base_2+base_3+"իցդ" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"և"+base_2+base_3+"ովդ" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներովդ" + } ; + Loc => table { + Sg => base_1+"և"+base_2+base_3+"ումդ" ; + Pl => base_1+"եւ"+base_2+"ի"+base_3+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN022" + } ; + +mkN023 : Str -> N ; +mkN023 base = + case base of { + base_1+"ու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ան" ; + Pl => base_1+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"նից" ; + Pl => base_1+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"նով" ; + Pl => base_1+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"անը" ; + Pl => base_1+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"անս" ; + Pl => base_1+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"նիցս" ; + Pl => base_1+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"նովս" ; + Pl => base_1+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"անդ" ; + Pl => base_1+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"նիցդ" ; + Pl => base_1+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"նովդ" ; + Pl => base_1+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN023" + } ; + +mkN024 : Str -> N ; +mkN024 base = + case base of { + base_1+"ու"+base_2@(?+?)+base_3@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2+base_3 ; + Pl => base_1+base_2+base_3+"եր" + } ; + Dat => table { + Sg => base_1+base_2+"ե"+base_3 ; + Pl => base_1+base_2+base_3+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+base_3+"ից" ; + Pl => base_1+base_2+base_3+"երից" + } ; + Instr => table { + Sg => base_1+base_2+base_3+"ով" ; + Pl => base_1+base_2+base_3+"երով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ե"+base_3+"ը" ; + Pl => base_1+base_2+base_3+"երին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+base_3+"ը" ; + Pl => base_1+base_2+base_3+"երը" + } ; + poss1 = table { + Nom => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Ablat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Ablat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN024" + } ; + +mkN025 : Str -> N ; +mkN025 base = + case base of { + base_1+base_2@?+"ւյր" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ւյր" ; + Pl => base_1+base_2+"ւյրեր" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջ" ; + Pl => base_1+base_2+"ւյրերի" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջից" ; + Pl => base_1+base_2+"ւյրերից" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջով" ; + Pl => base_1+base_2+"ւյրերով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ր"+base_2+"ջը" ; + Pl => base_1+base_2+"ւյրերին" + } ; + def_nom = table { + Sg => base_1+base_2+"ւյրը" ; + Pl => base_1+base_2+"ւյրերը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+base_2+"ւյրս" ; + Pl => base_1+base_2+"ւյրերս" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջս" ; + Pl => base_1+base_2+"ւյրերիս" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջիցս" ; + Pl => base_1+base_2+"ւյրերիցս" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջովս" ; + Pl => base_1+base_2+"ւյրերովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+base_2+"ւյրդ" ; + Pl => base_1+base_2+"ւյրերդ" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջդ" ; + Pl => base_1+base_2+"ւյրերիդ" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջիցդ" ; + Pl => base_1+base_2+"ւյրերիցդ" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջովդ" ; + Pl => base_1+base_2+"ւյրերովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN025" + } ; + +mkN026 : Str -> N ; +mkN026 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ան" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"նից" ; + Pl => base_1+"ներից" --guessed + } ; + Instr => table { + Sg => base_1+"նով" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"անը" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"անս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"նիցս" ; + Pl => base_1+"ներիցս" --guessed + } ; + Instr => table { + Sg => base_1+"նովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" --guessed + } ; + Dat => table { + Sg => base_1+"անդ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"նիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"նովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN026" + } ; + +mkN027 : Str -> N ; +mkN027 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"եր" + } ; + Dat => table { + Sg => base_1+"ու" ; + Pl => base_1+"երի" + } ; + Ablat => table { + Sg => base_1+"ուց" ; + Pl => base_1+"երից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"երով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ուն" ; + Pl => base_1+"երին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"երս" + } ; + Dat => table { + Sg => base_1+"ուս" ; + Pl => base_1+"երիս" + } ; + Ablat => table { + Sg => base_1+"ուցս" ; + Pl => base_1+"երիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"երովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"երդ" + } ; + Dat => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"երիդ" + } ; + Ablat => table { + Sg => base_1+"ուցդ" ; + Pl => base_1+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"երովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN027" + } ; + +mkN028 : Str -> N ; +mkN028 base = + case base of { + base_1+"ու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+base_2+"եր" + } ; + Dat => table { + Sg => base_1+"ա"+base_2 ; + Pl => base_1+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+base_2+"երից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+base_2+"երով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+base_2+"երում" + } + } ; + def_dat = table { + Sg => base_1+"ա"+base_2+"ը" ; + Pl => base_1+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+base_2+"երս" + } ; + Dat => table { + Sg => base_1+"ա"+base_2+"ս" ; + Pl => base_1+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+base_2+"երովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+base_2+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+"ա"+base_2+"դ" ; + Pl => base_1+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+base_2+"երովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+base_2+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkN028" + } ; + +mkN029 : Str -> N ; +mkN029 base = + case base of { + base_1+"եւու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"եւու"+base_2 ; + Pl => base_1+"եւու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+"և"+base_2+"ան" ; + Pl => base_1+"եւու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"եւու"+base_2+"ից" ; + Pl => base_1+"եւու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+"և"+base_2+"ամբ" ; + Pl => base_1+"եւու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+"եւու"+base_2+"ում" ; + Pl => base_1+"եւու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"և"+base_2+"անը" ; + Pl => base_1+"եւու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"եւու"+base_2+"ը" ; + Pl => base_1+"եւու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"եւու"+base_2+"ս" ; + Pl => base_1+"եւու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+"և"+base_2+"անս" ; + Pl => base_1+"եւու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"եւու"+base_2+"իցս" ; + Pl => base_1+"եւու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"եւու"+base_2+"ովս" ; + Pl => base_1+"եւու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+"եւու"+base_2+"ումս" ; + Pl => base_1+"եւու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"եւու"+base_2+"դ" ; + Pl => base_1+"եւու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+"և"+base_2+"անդ" ; + Pl => base_1+"եւու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"եւու"+base_2+"իցդ" ; + Pl => base_1+"եւու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"եւու"+base_2+"ովդ" ; + Pl => base_1+"եւու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+"եւու"+base_2+"ումդ" ; + Pl => base_1+"եւու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN029" + } ; + +mkN030 : Str -> N ; +mkN030 base = + case base of { + base_1+"ու"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"յան" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"յամբ" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"յանը" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"յանս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"յանդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN030" + } ; + +mkN031 : Str -> N ; +mkN031 base = + case base of { + base_1+"ու"+base_2@("շտ"|"րդ"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN031" + } ; + +mkN032 : Str -> N ; +mkN032 base = + case base of { + base_1+"ուն" => lin N + { s = table { + Nom => table { + Sg => base_1+"ուն" ; + Pl => base_1+"ուններ" + } ; + Dat => table { + Sg => base_1+"վա" ; + Pl => base_1+"ունների" + } ; + Ablat => table { + Sg => base_1+"վանից" ; + Pl => base_1+"ուններից" + } ; + Instr => table { + Sg => base_1+"ունով" ; + Pl => base_1+"ուններով" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ուններում" + } + } ; + def_dat = table { + Sg => base_1+"վան" ; + Pl => base_1+"ուններին" + } ; + def_nom = table { + Sg => base_1+"ունը" ; + Pl => base_1+"ունները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ունս" ; + Pl => base_1+"ուններս" + } ; + Dat => table { + Sg => base_1+"վաս" ; + Pl => base_1+"ուններիս" + } ; + Ablat => table { + Sg => base_1+"վանիցս" ; + Pl => base_1+"ուններիցս" + } ; + Instr => table { + Sg => base_1+"ունովս" ; + Pl => base_1+"ուններովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ուններումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ունդ" ; + Pl => base_1+"ուններդ" + } ; + Dat => table { + Sg => base_1+"վադ" ; + Pl => base_1+"ուններիդ" + } ; + Ablat => table { + Sg => base_1+"վանիցդ" ; + Pl => base_1+"ուններիցդ" + } ; + Instr => table { + Sg => base_1+"ունովդ" ; + Pl => base_1+"ուններովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ուններումդ" + } + } + }; + _ => error "Can't apply paradigm mkN032" + } ; + +mkN033 : Str -> N ; +mkN033 base = + case base of { + base_1+"ու" => lin N + { s = table { + Nom => table { + Sg => base_1+"ու" ; + Pl => base_1+"վեր" + } ; + Dat => table { + Sg => base_1+"վի" ; + Pl => base_1+"վերի" + } ; + Ablat => table { + Sg => base_1+"վից" ; + Pl => base_1+"վերից" + } ; + Instr => table { + Sg => base_1+"վով" ; + Pl => base_1+"վերով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"վին" ; + Pl => base_1+"վերին" + } ; + def_nom = table { + Sg => base_1+"ուն" ; + Pl => base_1+"վերը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ուս" ; + Pl => base_1+"վերս" + } ; + Dat => table { + Sg => base_1+"վիս" ; + Pl => base_1+"վերիս" + } ; + Ablat => table { + Sg => base_1+"վիցս" ; + Pl => base_1+"վերիցս" + } ; + Instr => table { + Sg => base_1+"վովս" ; + Pl => base_1+"վերովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"վերդ" + } ; + Dat => table { + Sg => base_1+"վիդ" ; + Pl => base_1+"վերիդ" + } ; + Ablat => table { + Sg => base_1+"վիցդ" ; + Pl => base_1+"վերիցդ" + } ; + Instr => table { + Sg => base_1+"վովդ" ; + Pl => base_1+"վերովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN033" + } ; + +mkN034 : Str -> N ; +mkN034 base = + case base of { + base_1+"ի"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ա"+base_2+"այք" + } ; + Dat => table { + Sg => base_1+base_2+"ոջ" ; + Pl => base_1+"ա"+base_2+"անց" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջից" ; + Pl => base_1+"ա"+base_2+"անցից" + } ; + Instr => table { + Sg => base_1+base_2+"ոջով" ; + Pl => base_1+"ա"+base_2+"անցով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ոջը" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ա"+base_2+"այքս" + } ; + Dat => table { + Sg => base_1+base_2+"ոջս" ; + Pl => base_1+"ա"+base_2+"անցս" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցս" ; + Pl => base_1+"ա"+base_2+"անցիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ոջովս" ; + Pl => base_1+"ա"+base_2+"անցովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ա"+base_2+"այքդ" + } ; + Dat => table { + Sg => base_1+base_2+"ոջդ" ; + Pl => base_1+"ա"+base_2+"անցդ" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցդ" ; + Pl => base_1+"ա"+base_2+"անցիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ոջովդ" ; + Pl => base_1+"ա"+base_2+"անցովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN034" + } ; + +mkN035 : Str -> N ; +mkN035 base = + case base of { + base_1+"ի"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ի"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ա" ; + Pl => base_1+"ի"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"անից" ; + Pl => base_1+"ի"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"անով" ; + Pl => base_1+"ի"+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ան" ; + Pl => base_1+"ի"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+"ի"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ի"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"անս" ; + Pl => base_1+"ի"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"անիցս" ; + Pl => base_1+"ի"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"անովս" ; + Pl => base_1+"ի"+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ի"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"անդ" ; + Pl => base_1+"ի"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"անիցդ" ; + Pl => base_1+"ի"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"անովդ" ; + Pl => base_1+"ի"+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN035" + } ; + +mkN036 : Str -> N ; +mkN036 base = + case base of { + base_1+"այ"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"այ"+base_2 ; + Pl => base_1+"այ"+base_2+"եր" + } ; + Dat => table { + Sg => base_1+"ո"+base_2 ; + Pl => base_1+"այ"+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"ից" ; + Pl => base_1+"այ"+base_2+"երից" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ով" ; + Pl => base_1+"այ"+base_2+"երով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ո"+base_2+"ը" ; + Pl => base_1+"այ"+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"այ"+base_2+"ը" ; + Pl => base_1+"այ"+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"այ"+base_2+"ս" ; + Pl => base_1+"այ"+base_2+"երս" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"ս" ; + Pl => base_1+"այ"+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցս" ; + Pl => base_1+"այ"+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովս" ; + Pl => base_1+"այ"+base_2+"երովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"այ"+base_2+"դ" ; + Pl => base_1+"այ"+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"դ" ; + Pl => base_1+"այ"+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցդ" ; + Pl => base_1+"այ"+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովդ" ; + Pl => base_1+"այ"+base_2+"երովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN036" + } ; + +mkN037 : Str -> N ; +mkN037 base = + case base of { + base_1+"ե"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ե"+base_2 ; + Pl => base_1+"ե"+base_2+"եր" + } ; + Dat => table { + Sg => base_1+"ո"+base_2 ; + Pl => base_1+"ե"+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"ից" ; + Pl => base_1+"ե"+base_2+"երից" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ով" ; + Pl => base_1+"ե"+base_2+"երով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ո"+base_2+"ը" ; + Pl => base_1+"ե"+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ե"+base_2+"ը" ; + Pl => base_1+"ե"+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"ս" ; + Pl => base_1+"ե"+base_2+"երս" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"ս" ; + Pl => base_1+"ե"+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցս" ; + Pl => base_1+"ե"+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովս" ; + Pl => base_1+"ե"+base_2+"երովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"դ" ; + Pl => base_1+"ե"+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"դ" ; + Pl => base_1+"ե"+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցդ" ; + Pl => base_1+"ե"+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովդ" ; + Pl => base_1+"ե"+base_2+"երովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN037" + } ; + +mkN038 : Str -> N ; +mkN038 base = + case base of { + base_1+"ու" => lin N + { s = table { + Nom => table { + Sg => base_1+"ու" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վա" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանից" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"վան" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ուն" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ուս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վաս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցս" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ուդ" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վադ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN038" + } ; + +mkN039 : Str -> N ; +mkN039 base = + case base of { + base_1+base_2@?+"ւյր" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ւյր" ; + Pl => base_1+base_2+"ւյրներ" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջ" ; + Pl => base_1+base_2+"ւյրների" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջից" ; + Pl => base_1+base_2+"ւյրներից" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջով" ; + Pl => base_1+base_2+"ւյրներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ր"+base_2+"ջը" ; + Pl => base_1+base_2+"ւյրներին" + } ; + def_nom = table { + Sg => base_1+base_2+"ւյրը" ; + Pl => base_1+base_2+"ւյրները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+base_2+"ւյրս" ; + Pl => base_1+base_2+"ւյրներս" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջս" ; + Pl => base_1+base_2+"ւյրներիս" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջիցս" ; + Pl => base_1+base_2+"ւյրներիցս" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջովս" ; + Pl => base_1+base_2+"ւյրներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+base_2+"ւյրդ" ; + Pl => base_1+base_2+"ւյրներդ" + } ; + Dat => table { + Sg => base_1+"ր"+base_2+"ջդ" ; + Pl => base_1+base_2+"ւյրներիդ" + } ; + Ablat => table { + Sg => base_1+"ր"+base_2+"ջիցդ" ; + Pl => base_1+base_2+"ւյրներիցդ" + } ; + Instr => table { + Sg => base_1+"ր"+base_2+"ջովդ" ; + Pl => base_1+base_2+"ւյրներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN039" + } ; + +mkN040 : Str -> N ; +mkN040 base = + case base of { + base_1+"այ"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"այ"+base_2 ; + Pl => base_1+"այ"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2 ; + Pl => base_1+"այ"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"ից" ; + Pl => base_1+"այ"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ով" ; + Pl => base_1+"այ"+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ո"+base_2+"ը" ; + Pl => base_1+"այ"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"այ"+base_2+"ը" ; + Pl => base_1+"այ"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"այ"+base_2+"ս" ; + Pl => base_1+"այ"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"ս" ; + Pl => base_1+"այ"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցս" ; + Pl => base_1+"այ"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովս" ; + Pl => base_1+"այ"+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"այ"+base_2+"դ" ; + Pl => base_1+"այ"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+"ո"+base_2+"դ" ; + Pl => base_1+"այ"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ո"+base_2+"իցդ" ; + Pl => base_1+"այ"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ո"+base_2+"ովդ" ; + Pl => base_1+"այ"+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN040" + } ; + +mkN041 : Str -> N ; +mkN041 base = + case base of { + base_1+"ե"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ե"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"ի" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"ից" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ով" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ի"+base_2+"ում" ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ի"+base_2+"ին" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ե"+base_2+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"ս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"իս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"իցս" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ի"+base_2+"ումս" ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"դ" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"իդ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"իցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ի"+base_2+"ումդ" ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN041" + } ; + +mkN042 : Str -> N ; +mkN042 base = + case base of { + base_1+"ի" => lin N + { s = table { + Nom => table { + Sg => base_1+"ի" ; + Pl => base_1+"իներ" + } ; + Dat => table { + Sg => base_1+"ու" ; + Pl => base_1+"իների" + } ; + Ablat => table { + Sg => base_1+"ուց" ; + Pl => base_1+"իներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"իներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ուն" ; + Pl => base_1+"իներին" + } ; + def_nom = table { + Sg => base_1+"ին" ; + Pl => base_1+"իները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"իս" ; + Pl => base_1+"իներս" + } ; + Dat => table { + Sg => base_1+"ուս" ; + Pl => base_1+"ունս" + } ; + Ablat => table { + Sg => base_1+"ուցս" ; + Pl => base_1+"իներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"իներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"իդ" ; + Pl => base_1+"իներդ" + } ; + Dat => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"իներիդ" + } ; + Ablat => table { + Sg => base_1+"ուցդ" ; + Pl => base_1+"իներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"իներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN042" + } ; + +mkN043 : Str -> N ; +mkN043 base = + case base of { + base_1+"ե"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ե"+base_2 ; + Pl => base_1+"ե"+base_2+"եր" + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"ոջ" ; + Pl => base_1+"ե"+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"ոջից" ; + Pl => base_1+"ե"+base_2+"երից" + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ոջով" ; + Pl => base_1+"ե"+base_2+"երով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ի"+base_2+"ոջը" ; + Pl => base_1+"ե"+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ե"+base_2+"ը" ; + Pl => base_1+"ե"+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"ս" ; + Pl => base_1+"ե"+base_2+"երս" + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"ոջս" ; + Pl => base_1+"ե"+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"ոջիցս" ; + Pl => base_1+"ե"+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ոջովս" ; + Pl => base_1+"ե"+base_2+"երովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ե"+base_2+"դ" ; + Pl => base_1+"ե"+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+"ի"+base_2+"ոջդ" ; + Pl => base_1+"ե"+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+"ի"+base_2+"ոջիցդ" ; + Pl => base_1+"ե"+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ի"+base_2+"ոջովդ" ; + Pl => base_1+"ե"+base_2+"երովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN043" + } ; + +mkN044 : Str -> N ; +mkN044 base = + case base of { + base_1+"ու"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"ոջ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"ոջից" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ոջով" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ոջը" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"ոջս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցս" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ոջովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"ոջդ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ոջովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN044" + } ; + +mkN045 : Str -> N ; +mkN045 base = + case base of { + base_1+"ը" => lin N + { s = table { + Nom => table { + Sg => base_1+"ը" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վա" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանից" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"վան" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ըս" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վաս" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցս" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ըդ" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"վադ" ; + Pl => nonExist + } ; + Ablat => table { + Sg => base_1+"վանիցդ" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN045" + } ; + +mkN046 : Str -> N ; +mkN046 base = + case base of { + base_1+"ի"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ա"+base_2+"այք" --guessed + } ; + Dat => table { + Sg => base_1+base_2+"ոջ" ; + Pl => base_1+"ա"+base_2+"անց" --guessed + } ; + Ablat => table { + Sg => base_1+base_2+"ոջից" ; + Pl => base_1+"ա"+base_2+"անցից" --guessed + } ; + Instr => table { + Sg => base_1+base_2+"ոջով" ; + Pl => base_1+"ա"+base_2+"անցով" --guessed + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ոջը" ; + Pl => base_1+"ի"+base_2+"ներին" --guessed + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+"ի"+base_2+"ները" --guessed + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ա"+base_2+"այքս" --guessed + } ; + Dat => table { + Sg => base_1+base_2+"ոջս" ; + Pl => base_1+"ա"+base_2+"անցս" --guessed + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցս" ; + Pl => base_1+"ա"+base_2+"անցիցս" --guessed + } ; + Instr => table { + Sg => base_1+base_2+"ոջովս" ; + Pl => base_1+"ա"+base_2+"անցովս" --guessed + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ա"+base_2+"այքդ" --guessed + } ; + Dat => table { + Sg => base_1+base_2+"ոջդ" ; + Pl => base_1+"ա"+base_2+"անցդ" --guessed + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցդ" ; + Pl => base_1+"ա"+base_2+"անցիցդ" --guessed + } ; + Instr => table { + Sg => base_1+base_2+"ոջովդ" ; + Pl => base_1+"ա"+base_2+"անցովդ" --guessed + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN046" + } ; + +mkN047 : Str -> N ; +mkN047 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"իկ" + } ; + Dat => table { + Sg => base_1+"ու" ; + Pl => base_1+"կանց" + } ; + Ablat => table { + Sg => base_1+"ուց" ; + Pl => base_1+"կանցից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"կանցով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ուն" ; + Pl => nonExist + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => nonExist + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"իկս" + } ; + Dat => table { + Sg => base_1+"ուս" ; + Pl => base_1+"կանցս" + } ; + Ablat => table { + Sg => base_1+"ուցս" ; + Pl => base_1+"կանցիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"կանցովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"իկդ" + } ; + Dat => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"կանցդ" + } ; + Ablat => table { + Sg => base_1+"ուցդ" ; + Pl => base_1+"կանցիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"կանցովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN047" + } ; + +mkN048 : Str -> N ; +mkN048 base = + case base of { + base_1+"ու"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"յան" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"յամբ" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"յանը" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"յանս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"յանդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"ու"+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ու"+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ու"+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkN048" + } ; + +mkN049 : Str -> N ; +mkN049 base = + case base of { + base_1+"ի"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ի"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ոջ" ; + Pl => base_1+"ի"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջից" ; + Pl => base_1+"ի"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ոջով" ; + Pl => base_1+"ի"+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+base_2+"ոջը" ; + Pl => base_1+"ի"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+"ի"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ի"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"ոջս" ; + Pl => base_1+"ի"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցս" ; + Pl => base_1+"ի"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ոջովս" ; + Pl => base_1+"ի"+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ի"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"ոջդ" ; + Pl => base_1+"ի"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"ոջիցդ" ; + Pl => base_1+"ի"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ոջովդ" ; + Pl => base_1+"ի"+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkN049" + } ; + +mkA001 : Str -> A ; +mkA001 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA001" + } ; + +mkA002 : Str -> A ; +mkA002 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA002" + } ; + +mkA003 : Str -> A ; +mkA003 base = + case base of { + base_1+"ի" => lin A + { s = table { + Nom => table { + Sg => base_1+"ի" ; + Pl => base_1+"իներ" + } ; + Dat => table { + Sg => base_1+"ու" ; + Pl => base_1+"իների" + } ; + Ablat => table { + Sg => base_1+"ուց" ; + Pl => base_1+"իներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"իներով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"իներում" + } + } ; + def_dat = table { + Sg => base_1+"ուն" ; + Pl => base_1+"իներին" + } ; + def_nom = table { + Sg => base_1+"ին" ; + Pl => base_1+"իները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"իս" ; + Pl => base_1+"իներս" + } ; + Dat => table { + Sg => base_1+"ուս" ; + Pl => base_1+"իներիս" + } ; + Ablat => table { + Sg => base_1+"ուցս" ; + Pl => base_1+"իներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"իներովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"իներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"իդ" ; + Pl => base_1+"իներդ" + } ; + Dat => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"իներիդ" + } ; + Ablat => table { + Sg => base_1+"ուցդ" ; + Pl => base_1+"իներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"իներովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"իներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA003" + } ; + +mkA004 : Str -> A ; +mkA004 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ներ" + } ; + Dat => table { + Sg => base_1+"յի" ; + Pl => base_1+"ների" + } ; + Ablat => table { + Sg => base_1+"յից" ; + Pl => base_1+"ներից" + } ; + Instr => table { + Sg => base_1+"յով" ; + Pl => base_1+"ներով" + } ; + Loc => table { + Sg => base_1+"յում" ; + Pl => base_1+"ներում" + } + } ; + def_dat = table { + Sg => base_1+"յին" ; + Pl => base_1+"ներին" + } ; + def_nom = table { + Sg => base_1+"ն" ; + Pl => base_1+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"ներս" + } ; + Dat => table { + Sg => base_1+"յիս" ; + Pl => base_1+"ներիս" + } ; + Ablat => table { + Sg => base_1+"յիցս" ; + Pl => base_1+"ներիցս" + } ; + Instr => table { + Sg => base_1+"յովս" ; + Pl => base_1+"ներովս" + } ; + Loc => table { + Sg => base_1+"յումս" ; + Pl => base_1+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"ներդ" + } ; + Dat => table { + Sg => base_1+"յիդ" ; + Pl => base_1+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"յիցդ" ; + Pl => base_1+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"յովդ" ; + Pl => base_1+"ներովդ" + } ; + Loc => table { + Sg => base_1+"յումդ" ; + Pl => base_1+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA004" + } ; + +mkA005 : Str -> A ; +mkA005 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"եր" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"երի" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"երից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"երով" + } ; + Loc => table { + Sg => base_1+"ում" ; + Pl => base_1+"երում" + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"երին" + } ; + def_nom = table { + Sg => base_1+"ը" ; + Pl => base_1+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ս" ; + Pl => base_1+"երս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"երիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"երիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"երովս" + } ; + Loc => table { + Sg => base_1+"ումս" ; + Pl => base_1+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"դ" ; + Pl => base_1+"երդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"երիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"երիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"երովդ" + } ; + Loc => table { + Sg => base_1+"ումդ" ; + Pl => base_1+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkA005" + } ; + +mkA006 : Str -> A ; +mkA006 base = + case base of { + base_1+"ի"+base_2@("շտ"|?) => lin A + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+"ի"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+"ի"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+"ի"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+"ի"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+"ի"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+"ի"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+"ի"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+"ի"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+"ի"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+"ի"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+"ի"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+"ի"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+"ի"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+"ի"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+"ի"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+"ի"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+"ի"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA006" + } ; + +mkA007 : Str -> A ; +mkA007 base = + case base of { + base_1+base_2@(?+?+?+?+?) => lin A + { s = table { + Nom => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+"յ"+base_2+"յի" ; + Pl => base_1+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+"յ"+base_2+"յից" ; + Pl => base_1+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+"յ"+base_2+"յով" ; + Pl => base_1+base_2+"ներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"յ"+base_2+"յին" ; + Pl => base_1+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+base_2+"ն" ; + Pl => base_1+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+base_2+"ս" ; + Pl => base_1+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+"յ"+base_2+"յիս" ; + Pl => base_1+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+"յ"+base_2+"յիցս" ; + Pl => base_1+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+"յ"+base_2+"յովս" ; + Pl => base_1+base_2+"ներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+base_2+"դ" ; + Pl => base_1+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+"յ"+base_2+"յիդ" ; + Pl => base_1+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+"յ"+base_2+"յիցդ" ; + Pl => base_1+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+"յ"+base_2+"յովդ" ; + Pl => base_1+base_2+"ներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkA007" + } ; + +mkA008 : Str -> A ; +mkA008 base = + case base of { + base_1+"ու"+base_2@("նչ"|?) => lin A + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+"ու"+base_2+"ներ" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+"ու"+base_2+"ների" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+"ու"+base_2+"ներից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+"ու"+base_2+"ներով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+"ու"+base_2+"ներում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+"ու"+base_2+"ներին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+"ու"+base_2+"ները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+"ու"+base_2+"ներս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+"ու"+base_2+"ներիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+"ու"+base_2+"ներիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+"ու"+base_2+"ներովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+"ու"+base_2+"ներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+"ու"+base_2+"ներդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+"ու"+base_2+"ներիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+"ու"+base_2+"ներիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+"ու"+base_2+"ներովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+"ու"+base_2+"ներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA008" + } ; + +mkA009 : Str -> A ; +mkA009 base = + case base of { + base_1+"ու" => lin A + { s = table { + Nom => table { + Sg => base_1+"ու" ; + Pl => base_1+"ուներ" + } ; + Dat => table { + Sg => base_1+"վի" ; + Pl => base_1+"ուների" + } ; + Ablat => table { + Sg => base_1+"վից" ; + Pl => base_1+"ուներից" + } ; + Instr => table { + Sg => base_1+"վով" ; + Pl => base_1+"ուներով" + } ; + Loc => table { + Sg => base_1+"վում" ; + Pl => base_1+"ուներում" + } + } ; + def_dat = table { + Sg => base_1+"վին" ; + Pl => base_1+"ուներին" + } ; + def_nom = table { + Sg => base_1+"ուն" ; + Pl => base_1+"ուները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ուս" ; + Pl => base_1+"ուներս" + } ; + Dat => table { + Sg => base_1+"վիս" ; + Pl => base_1+"ուներիս" + } ; + Ablat => table { + Sg => base_1+"վիցս" ; + Pl => base_1+"ուներիցս" + } ; + Instr => table { + Sg => base_1+"վովս" ; + Pl => base_1+"ուներովս" + } ; + Loc => table { + Sg => base_1+"վումս" ; + Pl => base_1+"ուներումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ուդ" ; + Pl => base_1+"ուներդ" + } ; + Dat => table { + Sg => base_1+"վիդ" ; + Pl => base_1+"ուներիդ" + } ; + Ablat => table { + Sg => base_1+"վիցդ" ; + Pl => base_1+"ուներիցդ" + } ; + Instr => table { + Sg => base_1+"վովդ" ; + Pl => base_1+"ուներովդ" + } ; + Loc => table { + Sg => base_1+"վումդ" ; + Pl => base_1+"ուներումդ" + } + } + }; + _ => error "Can't apply paradigm mkA009" + } ; + +mkA010 : Str -> A ; +mkA010 base = + case base of { + base_1@?+"ի"+base_2 => lin A + { s = table { + Nom => table { + Sg => base_1+"ի"+base_2 ; + Pl => base_1+base_2+"եր" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+base_2+"երից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+base_2+"երով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+base_2+"երում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ի"+base_2+"ը" ; + Pl => base_1+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"ս" ; + Pl => base_1+base_2+"երս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+base_2+"երովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+base_2+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ի"+base_2+"դ" ; + Pl => base_1+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+base_2+"երովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+base_2+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkA010" + } ; + +mkA011 : Str -> A ; +mkA011 base = + case base of { + base_1+"ու"+base_2@? => lin A + { s = table { + Nom => table { + Sg => base_1+"ու"+base_2 ; + Pl => base_1+base_2+"եր" + } ; + Dat => table { + Sg => base_1+base_2+"ի" ; + Pl => base_1+base_2+"երի" + } ; + Ablat => table { + Sg => base_1+base_2+"ից" ; + Pl => base_1+base_2+"երից" + } ; + Instr => table { + Sg => base_1+base_2+"ով" ; + Pl => base_1+base_2+"երով" + } ; + Loc => table { + Sg => base_1+base_2+"ում" ; + Pl => base_1+base_2+"երում" + } + } ; + def_dat = table { + Sg => base_1+base_2+"ին" ; + Pl => base_1+base_2+"երին" + } ; + def_nom = table { + Sg => base_1+"ու"+base_2+"ը" ; + Pl => base_1+base_2+"երը" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"ս" ; + Pl => base_1+base_2+"երս" + } ; + Dat => table { + Sg => base_1+base_2+"իս" ; + Pl => base_1+base_2+"երիս" + } ; + Ablat => table { + Sg => base_1+base_2+"իցս" ; + Pl => base_1+base_2+"երիցս" + } ; + Instr => table { + Sg => base_1+base_2+"ովս" ; + Pl => base_1+base_2+"երովս" + } ; + Loc => table { + Sg => base_1+base_2+"ումս" ; + Pl => base_1+base_2+"երումս" + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"ու"+base_2+"դ" ; + Pl => base_1+base_2+"երդ" + } ; + Dat => table { + Sg => base_1+base_2+"իդ" ; + Pl => base_1+base_2+"երիդ" + } ; + Ablat => table { + Sg => base_1+base_2+"իցդ" ; + Pl => base_1+base_2+"երիցդ" + } ; + Instr => table { + Sg => base_1+base_2+"ովդ" ; + Pl => base_1+base_2+"երովդ" + } ; + Loc => table { + Sg => base_1+base_2+"ումդ" ; + Pl => base_1+base_2+"երումդ" + } + } + }; + _ => error "Can't apply paradigm mkA011" + } ; + +mkA012 : Str -> A ; +mkA012 base = + case base of { + base_1+"ի" => lin A + { s = table { + Nom => table { + Sg => base_1+"ի" ; + Pl => base_1+"իներ" + } ; + Dat => table { + Sg => base_1+"ի" ; + Pl => base_1+"իների" + } ; + Ablat => table { + Sg => base_1+"ից" ; + Pl => base_1+"իներից" + } ; + Instr => table { + Sg => base_1+"ով" ; + Pl => base_1+"իներով" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + def_dat = table { + Sg => base_1+"ին" ; + Pl => base_1+"իներին" + } ; + def_nom = table { + Sg => base_1+"ին" ; + Pl => base_1+"իները" + } ; + poss1 = table { + Nom => table { + Sg => base_1+"իս" ; + Pl => base_1+"իներս" + } ; + Dat => table { + Sg => base_1+"իս" ; + Pl => base_1+"իներիս" + } ; + Ablat => table { + Sg => base_1+"իցս" ; + Pl => base_1+"իներիցս" + } ; + Instr => table { + Sg => base_1+"ովս" ; + Pl => base_1+"իներովս" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + poss2 = table { + Nom => table { + Sg => base_1+"իդ" ; + Pl => base_1+"իներդ" + } ; + Dat => table { + Sg => base_1+"իդ" ; + Pl => base_1+"իներիդ" + } ; + Ablat => table { + Sg => base_1+"իցդ" ; + Pl => base_1+"իներիցդ" + } ; + Instr => table { + Sg => base_1+"ովդ" ; + Pl => base_1+"իներովդ" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkA012" + } ; +} \ No newline at end of file diff --git a/src/armenian/NounHye.gf b/src/armenian/NounHye.gf new file mode 100644 index 00000000..3d6c639a --- /dev/null +++ b/src/armenian/NounHye.gf @@ -0,0 +1,35 @@ +concrete NounHye of Noun = CatHye ** open ResHye in { + lin AdjCN ap cn = { + s = \\sp,c,n => + case ap.isPre of { + True => ap.s ! Indef ! Nom ! Sg ++ cn.s ! sp ! c ! n; + False => cn.s ! sp ! c ! n ++ ap.s ! Indef ! Nom ! Sg + } + } ; + lin AdvCN cn adv = { + s = \\sp,c,num => adv.s ++ cn.s ! sp ! c ! num + } ; + lin DefArt = {s = []; sp = Def} ; + lin DetCN det cn = {s = \\c => det.s ++ cn.s ! det.sp ! c ! det.n; + a = {n=det.n; p=P3}} ; + lin DetQuant quant num = {s = quant.s ++ num.s; n = num.n; sp=quant.sp} ; + lin IndefArt = {s = "մի"; sp = Indef} ; + lin NumPl = {s = []; n = Pl} ; + lin NumSg = {s = []; n = Sg} ; + lin MassNP cn = { + s = \\c => cn.s ! Indef ! c ! Sg; + a = {n=Sg; p=P3} + } ; + lin PossPron pron = {s = pron.empty; sp = Poss pron.a.p} ; + lin UseN n = { + s = \\sp,c,num => + case of { + => n.def_nom ! num ; + => n.def_dat ! num ; + => n.poss1 ! c ! num ; + => n.poss2 ! c ! num ; + _ => n.s ! c ! num + } + } ; + lin UsePron pron = {s = \\c => pron.s; a=pron.a} ; +} diff --git a/src/armenian/ParadigmsHye.gf b/src/armenian/ParadigmsHye.gf new file mode 100644 index 00000000..6f5e81bd --- /dev/null +++ b/src/armenian/ParadigmsHye.gf @@ -0,0 +1,500 @@ +resource ParadigmsHye = MorphoHye ** open Predef, Prelude, CatHye, ResHye in { +oper + regV : Str -> V -- s + = \form -> case form of { + _ + "ղալ" => mkV002 form; + _ + "ձալ" => mkV002 form; + _ + "զալ" => mkV002 form; + _ + "լալ" => mkV002 form; + _ + "թալ" => mkV002 form; + _ + "ռալ" => mkV002 form; + _ + "րալ" => mkV002 form; + _ + "ւալ" => mkV002 form; + _ + "ջալ" => mkV002 form; + _ + "գալ" => mkV002 form; + _ + "տալ" => mkV002 form; + _ + "ճալ" => mkV002 form; + _ + "սալ" => mkV002 form; + _ + "փալ" => mkV002 form; + _ + "կալ" => mkV002 form; + _ + "վալ" => mkV002 form; + _ + "բալ" => mkV002 form; + _ + "ծալ" => mkV002 form; + _ + "չալ" => mkV002 form; + _ + "նալ" => mkV004 form; + _ + "ել" => mkV001 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2V : Str -> Str -> V -- s Imperative_Jussive;Pl + = \form1, form2 -> case of { + <_ + "լ", _ + "է՛ք"> => mkV012 form1; + _ => regV form1 + } ; + + regN : Str -> N -- s;Nom;Sg + = \form -> case form of { + _ + "իւն" => mkN008 form; + _ + "ժամ" => mkN007 form; + _ + "մոմ" => mkN007 form; + _ + "ւնտ" => mkN007 form; + _ + "րստ" => mkN007 form; + _ + "խոտ" => mkN007 form; + _ + "ելտ" => mkN007 form; + _ + "տառ" => mkN007 form; + _ + "երդ" => mkN007 form; + _ + "ձող" => mkN007 form; + _ + "փող" => mkN007 form; + _ + "հող" => mkN007 form; + _ + "խաղ" => mkN007 form; + _ + "իկղ" => mkN007 form; + _ + "շոր" => mkN007 form; + _ + "զոր" => mkN007 form; + _ + "շեր" => mkN016 form; + _ + "եգր" => mkN007 form; + _ + "թել" => mkN007 form; + _ + "խել" => mkN007 form; + _ + "ճոճ" => mkN007 form; + _ + "իցք" => mkN007 form; + _ + "ենք" => mkN007 form; + _ + "ուրծք" => mkN005 form; + _ + "յծք" => mkN007 form; + _ + "նչք" => mkN007 form; + _ + "ծոց" => mkN007 form; + _ + "այց" => mkN007 form; + _ + "կաց" => mkN007 form; + _ + "ջիջ" => mkN013 form; + _ + "եղջ" => mkN007 form; + _ + "ւրթ" => mkN007 form; + _ + "յոթ" => mkN007 form; + _ + "ճապ" => mkN001 form; + _ + "րապ" => mkN001 form; + _ + "լեպ" => mkN001 form; + _ + "ծագ" => mkN007 form; + _ + "ենգ" => mkN007 form; + _ + "գիչ" => mkN013 form; + _ + "միչ" => mkN013 form; + _ + "տիչ" => mkN013 form; + _ + "նիչ" => mkN013 form; + _ + "ւրծ" => mkN007 form; + _ + "թու" => mkN012 form; + _ + "զու" => mkN012 form; + _ + "ռու" => mkN012 form; + _ + "ճու" => mkN012 form; + _ + "ղու" => mkN012 form; + _ + "ճաշ" => mkN007 form; + _ + "վիշ" => mkN013 form; + _ + "ուրձ" => mkN005 form; + _ + "դհի" => mkN006 form; + _ + "ւդի" => mkN006 form; + _ + "ուն" => mkN010 form; + _ + "սն" => mkN007 form; + _ + "կն" => mkN007 form; + _ + "շն" => mkN007 form; + _ + "մն" => mkN007 form; + _ + "ռն" => mkN007 form; + _ + "ձն" => mkN007 form; + _ + "նն" => mkN007 form; + _ + "ւմ" => mkN004 form; + _ + "րմ" => mkN007 form; + _ + "ղմ" => mkN007 form; + _ + "յմ" => mkN007 form; + _ + "հմ" => mkN007 form; + _ + "լմ" => mkN007 form; + _ + "յտ" => mkN007 form; + _ + "յռ" => mkN007 form; + _ + "ղդ" => mkN007 form; + _ + "տղ" => mkN007 form; + _ + "ղխ" => mkN007 form; + _ + "լխ" => mkN007 form; + _ + "ճխ" => mkN007 form; + _ + "չխ" => mkN007 form; + _ + "ղկ" => mkN007 form; + _ + "սկ" => mkN007 form; + _ + "տր" => mkN007 form; + _ + "կր" => mkN007 form; + _ + "նր" => mkN007 form; + _ + "ղր" => mkN007 form; + _ + "խր" => mkN007 form; + _ + "բր" => mkN007 form; + _ + "օր" => mkN016 form; + _ + "յլ" => mkN007 form; + _ + "րս" => mkN007 form; + _ + "մս" => mkN007 form; + _ + "փս" => mkN007 form; + _ + "լս" => mkN007 form; + _ + "րճ" => mkN007 form; + _ + "եճ" => mkN007 form; + _ + "աճ" => mkN007 form; + _ + "նճ" => mkN007 form; + _ + "ջք" => mkN007 form; + _ + "մք" => mkN007 form; + _ + "վք" => mkN007 form; + _ + "թք" => mkN007 form; + _ + "բք" => mkN007 form; + _ + "խց" => mkN007 form; + _ + "ղց" => mkN007 form; + _ + "վթ" => mkN007 form; + _ + "ղբ" => mkN007 form; + _ + "րբ" => mkN007 form; + _ + "ուբ" => mkN005 form; + _ + "զբ" => mkN007 form; + _ + "եբ" => mkN007 form; + _ + "ոպ" => mkN001 form; + _ + "ւպ" => mkN001 form; + _ + "իպ" => mkN001 form; + _ + "եգ" => mkN007 form; + _ + "իգ" => mkN007 form; + _ + "ոգ" => mkN007 form; + _ + "յգ" => mkN007 form; + _ + "ուրչ" => mkN005 form; + _ + "շչ" => mkN007 form; + _ + "նծ" => mkN007 form; + _ + "եծ" => mkN007 form; + _ + "յծ" => mkN007 form; + _ + "եւ" => mkN001 form; + _ + "աւ" => mkN001 form; + _ + "ւժ" => mkN007 form; + _ + "իժ" => mkN013 form; + _ + "քշ" => mkN007 form; + _ + "րշ" => mkN007 form; + _ + "ուզ" => mkN005 form; + _ + "րզ" => mkN007 form; + _ + "ավ" => mkN007 form; + _ + "յվ" => mkN007 form; + _ + "աֆ" => mkN001 form; + _ + "լֆ" => mkN001 form; + _ + "իփ" => mkN001 form; + _ + "ափ" => mkN001 form; + _ + "ոյ" => mkN007 form; + _ + "լի" => mkN006 form; + _ + "բի" => mkN006 form; + _ + "խի" => mkN006 form; + _ + "թի" => mkN006 form; + _ + "պի" => mkN006 form; + _ + "վի" => mkN006 form; + _ + "փի" => mkN006 form; + _ + "աի" => mkN006 form; + _ + "ջի" => mkN006 form; + _ + "ն" => mkN001 form; + _ + "մ" => mkN001 form; + _ + "տ" => mkN001 form; + _ + "ռ" => mkN001 form; + _ + "դ" => mkN001 form; + _ + "ղ" => mkN001 form; + _ + "խ" => mkN001 form; + _ + "կ" => mkN001 form; + _ + "ր" => mkN001 form; + _ + "լ" => mkN001 form; + _ + "ս" => mkN001 form; + _ + "ճ" => mkN001 form; + _ + "ք" => mkN001 form; + _ + "ց" => mkN001 form; + _ + "ջ" => mkN001 form; + _ + "թ" => mkN001 form; + _ + "բ" => mkN001 form; + _ + "պ" => mkN007 form; + _ + "գ" => mkN001 form; + _ + "չ" => mkN001 form; + _ + "ծ" => mkN001 form; + _ + "ւ" => mkN006 form; + _ + "ժ" => mkN001 form; + _ + "շ" => mkN001 form; + _ + "զ" => mkN001 form; + _ + "ձ" => mkN007 form; + _ + "վ" => mkN001 form; + _ + "ֆ" => mkN007 form; + _ + "հ" => mkN001 form; + _ + "փ" => mkN007 form; + _ + "յ" => mkN001 form; + _ + "ա" => mkN002 form; + _ + "ո" => mkN002 form; + _ + "ի" => mkN003 form; + _ + "ե" => mkN006 form; + _ + "է" => mkN006 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2N : Str -> Str -> N -- s;Nom;Sg s;Dat;Sg + = \form1, form2 -> case of { + <_ + "թու", _ + "ւի"> => mkN006 form1; + <_ + "շեր", _ + "ի"> => mkN001 form1; + <_ + "ժամ", _ + "ա"> => mkN016 form1; + <_ + "ուն", _ + "բնի"> => mkN005 form1; + <_ + "ւն", _ + "վան"> => mkN009 form1; + <_ + "ւն", _ + "տան"> => mkN028 form1; + <_ + "ւն", _ + "շան"> => mkN028 form1; + <_ + "ւզ", _ + "ւզի"> => mkN001 form1; + <_ + "ւն", _ + "ի"> => mkN001 form1; + <_ + "ւն", _ + "ա"> => mkN032 form1; + <_ + "ւմ", _ + "ի"> => mkN001 form1; + <_ + "լի", _ + "ւ"> => mkN003 form1; + <_ + "բի", _ + "ւ"> => mkN003 form1; + <_ + "խի", _ + "ւ"> => mkN003 form1; + <_ + "թի", _ + "ւ"> => mkN003 form1; + <_ + "տ", _ + "մտի"> => mkN005 form1; + <_ + "տ", _ + "գտի"> => mkN005 form1; + <_ + "տ", _ + "վտի"> => mkN013 form1; + <_ + "ռ", _ + "ճռի"> => mkN013 form1; + <_ + "ն", _ + "ծնի"> => mkN013 form1; + <_ + "ն", _ + "տնի"> => mkN013 form1; + <_ + "ն", _ + "ցնի"> => mkN013 form1; + <_ + "ն", _ + "ձնի"> => mkN013 form1; + <_ + "ն", _ + "բնի"> => mkN013 form1; + <_ + "ն", _ + "խնի"> => mkN013 form1; + <_ + "ղ", _ + "ւղի"> => mkN007 form1; + <_ + "ղ", _ + "վղի"> => mkN013 form1; + <_ + "ղ", _ + "փղի"> => mkN015 form1; + <_ + "ղ", _ + "տղի"> => mkN031 form1; + <_ + "խ", _ + "ծխի"> => mkN005 form1; + <_ + "խ", _ + "բխի"> => mkN031 form1; + <_ + "կ", _ + "ղկի"> => mkN013 form1; + <_ + "կ", _ + "տկի"> => mkN013 form1; + <_ + "կ", _ + "պկի"> => mkN013 form1; + <_ + "կ", _ + "զկի"> => mkN031 form1; + <_ + "ս", _ + "մսի"> => mkN013 form1; + <_ + "ճ", _ + "վճի"> => mkN013 form1; + <_ + "ճ", _ + "հճի"> => mkN013 form1; + <_ + "ց", _ + "տցի"> => mkN005 form1; + <_ + "ց", _ + "կցի"> => mkN013 form1; + <_ + "ր", _ + "դրի"> => mkN013 form1; + <_ + "ր", _ + "գրի"> => mkN015 form1; + <_ + "ր", _ + "տրի"> => mkN005 form1; + <_ + "ր", _ + "ջրի"> => mkN005 form1; + <_ + "ր", _ + "լրի"> => mkN005 form1; + <_ + "ր", _ + "նրի"> => mkN013 form1; + <_ + "ր", _ + "խրի"> => mkN013 form1; + <_ + "ր", _ + "կրի"> => mkN013 form1; + <_ + "ր", _ + "ցրի"> => mkN013 form1; + <_ + "չ", _ + "պչի"> => mkN013 form1; + <_ + "չ", _ + "կչի"> => mkN013 form1; + <_ + "չ", _ + "րչի"> => mkN013 form1; + <_ + "չ", _ + "ցչի"> => mkN013 form1; + <_ + "չ", _ + "վչի"> => mkN013 form1; + <_ + "ծ", _ + "գծի"> => mkN015 form1; + <_ + "շ", _ + "փշի"> => mkN005 form1; + <_ + "ի", _ + "իու"> => mkN027 form1; + <_ + "ի", _ + "ձիի"> => mkN017 form1; + <_ + "ւ", _ + "վի"> => mkN012 form1; + <_ + "տ", _ + "ա"> => mkN016 form1; + <_ + "ռ", _ + "ն"> => mkN026 form1; + <_ + "ն", _ + "ջ"> => mkN034 form1; + <_ + "կ", _ + "ա"> => mkN016 form1; + <_ + "կ", _ + "ն"> => mkN023 form1; + <_ + "ր", _ + "ջ"> => mkN043 form1; + <_ + "ի", _ + "ի"> => mkN006 form1; + _ => regN form1 + } ; + + regA : Str -> A -- s;Nom;Sg + = \form -> case form of { + _ + "կիչ" => mkA006 form; + _ + "ենգ" => mkA005 form; + _ + "աղջ" => mkA005 form; + _ + "սկի" => mkA003 form; + _ + "աղի" => mkA003 form; + _ + "ղց" => mkA005 form; + _ + "ջն" => mkA005 form; + _ + "եպ" => mkA005 form; + _ + "նտ" => mkA005 form; + _ + "ոդ" => mkA005 form; + _ + "ղծ" => mkA005 form; + _ + "յծ" => mkA005 form; + _ + "եծ" => mkA005 form; + _ + "ձր" => mkA005 form; + _ + "նր" => mkA005 form; + _ + "ծր" => mkA005 form; + _ + "մր" => mkA005 form; + _ + "սր" => mkA005 form; + _ + "քր" => mkA005 form; + _ + "ցր" => mkA005 form; + _ + "եւ" => mkA001 form; + _ + "ոկ" => mkA005 form; + _ + "ղմ" => mkA005 form; + _ + "տք" => mkA005 form; + _ + "իղ" => mkA006 form; + _ + "նչ" => mkA008 form; + _ + "ոխ" => mkA005 form; + _ + "ղխ" => mkA005 form; + _ + "ղթ" => mkA005 form; + _ + "ւթ" => mkA011 form; + _ + "րշ" => mkA005 form; + _ + "եշ" => mkA005 form; + _ + "քշ" => mkA005 form; + _ + "ոռ" => mkA005 form; + _ + "ւգ" => mkA005 form; + _ + "եգ" => mkA005 form; + _ + "րճ" => mkA005 form; + _ + "րզ" => mkA005 form; + _ + "եզ" => mkA005 form; + _ + "ւփ" => mkA005 form; + _ + "նջ" => mkA005 form; + _ + "աջ" => mkA005 form; + _ + "մբ" => mkA001 form; + _ + "ոյ" => mkA001 form; + _ + "բի" => mkA003 form; + _ + "սի" => mkA003 form; + _ + "ց" => mkA001 form; + _ + "ն" => mkA001 form; + _ + "պ" => mkA001 form; + _ + "տ" => mkA001 form; + _ + "դ" => mkA001 form; + _ + "վ" => mkA001 form; + _ + "ծ" => mkA001 form; + _ + "ձ" => mkA001 form; + _ + "ր" => mkA001 form; + _ + "լ" => mkA001 form; + _ + "ւ" => mkA002 form; + _ + "կ" => mkA001 form; + _ + "մ" => mkA001 form; + _ + "ք" => mkA001 form; + _ + "ղ" => mkA001 form; + _ + "չ" => mkA001 form; + _ + "ժ" => mkA001 form; + _ + "խ" => mkA001 form; + _ + "թ" => mkA001 form; + _ + "ս" => mkA001 form; + _ + "շ" => mkA001 form; + _ + "հ" => mkA001 form; + _ + "ռ" => mkA001 form; + _ + "գ" => mkA001 form; + _ + "ճ" => mkA001 form; + _ + "զ" => mkA001 form; + _ + "փ" => mkA001 form; + _ + "ջ" => mkA001 form; + _ + "բ" => mkA005 form; + _ + "յ" => mkA005 form; + _ + "ե" => mkA002 form; + _ + "ի" => mkA002 form; + _ + "ա" => mkA004 form; + _ + "ո" => mkA004 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2A : Str -> Str -> A -- s;Nom;Sg s;Nom;Pl + = \form1, form2 -> case of { + <_ + "ոռ", _ + "ներ"> => mkA001 form1; + <_ + "տ", _ + "տեր"> => mkA005 form1; + <_ + "վ", _ + "վեր"> => mkA005 form1; + <_ + "ծ", _ + "ծեր"> => mkA005 form1; + <_ + "ձ", _ + "ձեր"> => mkA005 form1; + <_ + "լ", _ + "լեր"> => mkA005 form1; + <_ + "կ", _ + "կեր"> => mkA005 form1; + <_ + "մ", _ + "մեր"> => mkA005 form1; + <_ + "ք", _ + "քեր"> => mkA005 form1; + <_ + "ղ", _ + "ղեր"> => mkA005 form1; + <_ + "խ", _ + "խեր"> => mkA005 form1; + <_ + "թ", _ + "թեր"> => mkA005 form1; + <_ + "շ", _ + "շեր"> => mkA005 form1; + <_ + "հ", _ + "հեր"> => mkA005 form1; + <_ + "ռ", _ + "ռեր"> => mkA005 form1; + <_ + "գ", _ + "գեր"> => mkA005 form1; + <_ + "ճ", _ + "ճեր"> => mkA005 form1; + <_ + "զ", _ + "զեր"> => mkA005 form1; + <_ + "ջ", _ + "ջեր"> => mkA005 form1; + _ => regA form1 + } ; + + mkV = overload { + mkV : Str -> V = regV; -- s + mkV : Str -> Str -> V = reg2V -- s Imperative_Jussive;Pl + } ; + + 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 ; + + mkV2 = overload { + mkV2 : V -> V2 = \v -> lin V2 (v ** {c2 = noPrep}) ; + mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p}) ; + } ; + + mkV3 = overload { + mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2A = overload { + mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2S = overload { + mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2S : V -> Prep -> Prep -> V2S = \v,p1,p2 -> lin V2S (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2Q = overload { + mkV2Q : V -> V2Q = \v -> lin V2Q (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2Q : V -> Prep -> Prep -> V2Q = \v,p1,p2 -> lin V2Q (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2V = overload { + mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkN = overload { + mkN : Str -> N = regN; -- s;Nom;Sg + mkN : Str -> Str -> N = reg2N -- s;Nom;Sg s;Dat;Sg + } ; + + mkN2 = overload { + mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ; + mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ; + } ; + + mkN3 = overload { + mkN3 : N -> N3 = \n -> lin N3 (n ** {c2 = noPrep; c3 = noPrep}) ; + mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 (n ** {c2 = p1; c3 = p2}) ; + } ; + + mkA = overload { + mkA : Str -> A = regA; -- s;Nom;Sg + mkA : Str -> Str -> A = reg2A -- s;Nom;Sg s;Nom;Pl + } ; + + mkA2 = overload { + mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = noPrep}) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {c2 = p}) ; + } ; + + 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=""} ; + mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + + mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Dat; isPre=False} ; + + singular : Number = Sg ; + plural : Number = Pl ; + + mkIAdv : Str -> IAdv = \s -> lin IAdv {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} ; + mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; + mkQuant : Str -> Quant = \s -> lin Quant {s=s; sp=Indef} ; + mkDet : Str -> Number -> Det = \s,n -> lin Det {s=s; n=n; sp=Indef} ; + mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; + mkCard : Str -> Card = \s -> lin Card {s=s} ; + mkConj : Str -> Conj = \s -> lin Conj {s=s} ; + mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; + mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; + + mkLN : Str -> LN = \s -> lin LN {s=s} ; + mkGN : Str -> GN = \s -> lin GN {s=s} ; + mkSN : Str -> SN = \s -> lin SN {s=s} ; + mkPN : Str -> PN = \s -> lin PN {s=s} ; + + mkPron : Str -> Number -> Person -> Pron = \s,n,p -> + lin Pron { + s = s ; + empty = [] ; + a = {n = n; p = p} + } ; +} diff --git a/src/armenian/PhraseHye.gf b/src/armenian/PhraseHye.gf new file mode 100644 index 00000000..3a1de8aa --- /dev/null +++ b/src/armenian/PhraseHye.gf @@ -0,0 +1,11 @@ +concrete PhraseHye of Phrase = CatHye ** { +lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttInterj i = i ; + + NoPConj = {s = []} ; + + NoVoc = {s = []} ; +} diff --git a/src/armenian/ResHye.gf b/src/armenian/ResHye.gf new file mode 100644 index 00000000..90164740 --- /dev/null +++ b/src/armenian/ResHye.gf @@ -0,0 +1,268 @@ +resource ResHye = ParamX ** { + +param Aspect = Non_Past | Perfect ; +param Case = Nom | Dat | Ablat | Instr | Loc ; +param PartType = Resultative | Subject ; +oper Verb = {s: Str; causative: Str; conditional: Aspect => Person => Number => Str; converb: {imperfective: Str; futCon1: Str; futCon2: Str; negative: Str; perfective: Str; simultaneous: Str}; imperative: Number => Str; passive: Str; past: Person => Number => Str; participle: PartType => Str; subjunctive: Aspect => Person => Number => Str} ; -- 898 +oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43 -> + { s = f1 ; + causative = f2 ; + conditional = table { + Perfect => table { + P1 => table { + Sg => f3 ; + Pl => f4 + } ; + P2 => table { + Sg => f5 ; + Pl => f6 + } ; + P3 => table { + Sg => f7 ; + Pl => f8 + } + } ; + Non_Past => table { + P1 => table { + Sg => f9 ; + Pl => f10 + } ; + P2 => table { + Sg => f11 ; + Pl => f12 + } ; + P3 => table { + Sg => f13 ; + Pl => f14 + } + } + } ; + converb = { imperfective = f15 ; + futCon1 = f16 ; + futCon2 = f17 ; + negative = f18 ; + perfective = f19 ; + simultaneous = f20 + } ; + imperative = table { + Sg => f21 ; + Pl => f22 + } ; + passive = f23 ; + past = table { + P1 => table { + Sg => f24 ; + Pl => f25 + } ; + P2 => table { + Sg => f26 ; + Pl => f27 + } ; + P3 => table { + Sg => f28 ; + Pl => f29 + } + } ; + participle = table { + Resultative => f30 ; + Subject => f31 + } ; + subjunctive = table { + Perfect => table { + P1 => table { + Sg => f32 ; + Pl => f33 + } ; + P2 => table { + Sg => f34 ; + Pl => f35 + } ; + P3 => table { + Sg => f36 ; + Pl => f37 + } + } ; + Non_Past => table { + P1 => table { + Sg => f38 ; + Pl => f39 + } ; + P2 => table { + Sg => f40 ; + Pl => f41 + } ; + P3 => table { + Sg => f42 ; + Pl => f43 + } + } + } + } ; + +param Species = Indef | Def | Poss Person ; +oper Agr = {n : Number; p : Person} ; +oper Noun = {s: Case => Number => Str; def_dat: Number => Str; def_nom: Number => Str; poss1: Case => Number => Str; poss2: Case => Number => Str} ; -- 4880 +oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Noun = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34 -> + { s = table { + Nom => table { + Sg => f1 ; + Pl => f2 + } ; + Dat => table { + Sg => f3 ; + Pl => f4 + } ; + Ablat => table { + Sg => f5 ; + Pl => f6 + } ; + Instr => table { + Sg => f7 ; + Pl => f8 + } ; + Loc => table { + Sg => f9 ; + Pl => f10 + } + } ; + def_dat = table { + Sg => f11 ; + Pl => f12 + } ; + def_nom = table { + Sg => f13 ; + Pl => f14 + } ; + poss1 = table { + Nom => table { + Sg => f15 ; + Pl => f16 + } ; + Dat => table { + Sg => f17 ; + Pl => f18 + } ; + Ablat => table { + Sg => f19 ; + Pl => f20 + } ; + Instr => table { + Sg => f21 ; + Pl => f22 + } ; + Loc => table { + Sg => f23 ; + Pl => f24 + } + } ; + poss2 = table { + Nom => table { + Sg => f25 ; + Pl => f26 + } ; + Dat => table { + Sg => f27 ; + Pl => f28 + } ; + Ablat => table { + Sg => f29 ; + Pl => f30 + } ; + Instr => table { + Sg => f31 ; + Pl => f32 + } ; + Loc => table { + Sg => f33 ; + Pl => f34 + } + } + } ; + + +oper Adj = {s: Case => Number => Str; def_dat: Number => Str; def_nom: Number => Str; poss1: Case => Number => Str; poss2: Case => Number => Str} ; -- 1608 +oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34 -> + { s = table { + Nom => table { + Sg => f1 ; + Pl => f2 + } ; + Dat => table { + Sg => f3 ; + Pl => f4 + } ; + Ablat => table { + Sg => f5 ; + Pl => f6 + } ; + Instr => table { + Sg => f7 ; + Pl => f8 + } ; + Loc => table { + Sg => f9 ; + Pl => f10 + } + } ; + def_dat = table { + Sg => f11 ; + Pl => f12 + } ; + def_nom = table { + Sg => f13 ; + Pl => f14 + } ; + poss1 = table { + Nom => table { + Sg => f15 ; + Pl => f16 + } ; + Dat => table { + Sg => f17 ; + Pl => f18 + } ; + Ablat => table { + Sg => f19 ; + Pl => f20 + } ; + Instr => table { + Sg => f21 ; + Pl => f22 + } ; + Loc => table { + Sg => f23 ; + Pl => f24 + } + } ; + poss2 = table { + Nom => table { + Sg => f25 ; + Pl => f26 + } ; + Dat => table { + Sg => f27 ; + Pl => f28 + } ; + Ablat => table { + Sg => f29 ; + Pl => f30 + } ; + Instr => table { + Sg => f31 ; + Pl => f32 + } ; + Loc => table { + Sg => f33 ; + Pl => f34 + } + } + } ; + + +oper Compl = {s : Str; c : Case} ; +oper noPrep : Compl = {s=""; c=Dat} ; + +} diff --git a/src/armenian/SentenceHye.gf b/src/armenian/SentenceHye.gf new file mode 100644 index 00000000..9deae436 --- /dev/null +++ b/src/armenian/SentenceHye.gf @@ -0,0 +1,14 @@ +concrete SentenceHye of Sentence = CatHye ** open Prelude,ResHye in { + lin PredVP np vp = {s = np.s ! Nom ++ vp.s; + conditional = \\a,n => np.s ! Nom ++ vp.conditional ! a ! P3 ! n; + converb = {imperfective = np.s ! Nom ++ vp.converb.imperfective; + futCon1 = np.s ! Nom ++ vp.converb.futCon1; + futCon2 = np.s ! Nom ++ vp.converb.futCon2; + negative = np.s ! Nom ++ vp.converb.negative; + perfective = np.s ! Nom ++ vp.converb.perfective; + simultaneous = np.s ! Nom ++ vp.converb.simultaneous}; + passive = np.s ! Nom ++ vp.passive; + past = \\_,n => np.s ! Nom ++ vp.past ! P3 ! n; + participle = \\p => np.s ! Nom ++ vp.participle ! p; + subjunctive = \\a,n => np.s ! Nom ++ vp.subjunctive ! a ! P3 ! n} ; +} diff --git a/src/armenian/StructuralHye.gf b/src/armenian/StructuralHye.gf new file mode 100644 index 00000000..a25516dd --- /dev/null +++ b/src/armenian/StructuralHye.gf @@ -0,0 +1,8 @@ +concrete StructuralHye of Structural = CatHye ** open ResHye, ParadigmsHye in { +lin i_Pron = mkPron "ես" Sg P1 ; +lin youSg_Pron = mkPron "դու" Sg P2 ; +lin he_Pron, she_Pron, it_Pron = mkPron "նա" Sg P3 ; +lin we_Pron = mkPron "մեք" Pl P1 ; +lin youPl_Pron = mkPron "դուք" Pl P2 ; +lin they_Pron = mkPron "նոքա" Pl P3 ; +} diff --git a/src/armenian/VerbHye.gf b/src/armenian/VerbHye.gf new file mode 100644 index 00000000..5b0466b1 --- /dev/null +++ b/src/armenian/VerbHye.gf @@ -0,0 +1,35 @@ +concrete VerbHye of Verb = CatHye ** open Prelude,ResHye in { + lin AdvVP vp adv = {s = adv.s ++ vp.s; + conditional = \\a,p,n => adv.s ++ vp.conditional ! a ! p ! n; + converb = {imperfective = adv.s ++ vp.converb.imperfective; + futCon1 = adv.s ++ vp.converb.futCon1; + futCon2 = adv.s ++ vp.converb.futCon2; + negative = adv.s ++ vp.converb.negative; + perfective = adv.s ++ vp.converb.perfective; + simultaneous = adv.s ++ vp.converb.simultaneous}; + imperative = \\n => vp.imperative ! n ++ adv.s; + passive = adv.s ++ vp.passive; + past = \\p,n => adv.s ++ vp.past ! p ! n; + participle = \\p => adv.s ++ vp.participle ! p; + subjunctive = \\a,p,n => adv.s ++ vp.subjunctive ! a ! p ! n} ; + lin ComplSlash vp np = {s = vp.s ++ vp.c2.s ++ np.s ! vp.c2.c; + conditional = \\a,p,n => vp.conditional ! a ! p ! n + ++ vp.c2.s ++ np.s ! vp.c2.c; + converb = {imperfective = vp.converb.imperfective + ++ vp.c2.s ++ np.s ! vp.c2.c; + futCon1 = vp.converb.futCon1 ++ vp.c2.s ++ np.s ! vp.c2.c; + futCon2 = vp.converb.futCon2 ++ vp.c2.s ++ np.s ! vp.c2.c; + negative = vp.converb.negative ++ vp.c2.s ++ np.s ! vp.c2.c; + perfective = vp.converb.perfective + ++ vp.c2.s ++ np.s ! vp.c2.c; + simultaneous = vp.converb.simultaneous + ++ vp.c2.s ++ np.s ! vp.c2.c}; + imperative = \\n => vp.imperative ! n ++ vp.c2.s ++ np.s ! Nom; + passive = vp.passive ++ vp.c2.s ++ np.s ! vp.c2.c; + past = \\p,n => vp.past ! p ! n ++ vp.c2.s ++ np.s ! vp.c2.c; + participle = \\p => vp.participle ! p ++ vp.c2.s ++ np.s ! vp.c2.c; + subjunctive = \\a,p,n => vp.subjunctive ! a ! p ! n + ++ vp.c2.s ++ np.s ! vp.c2.c} ; + lin SlashV2a v = v ; + lin UseV v = v ; +} diff --git a/src/bantu/DiffBantu.gf b/src/bantu/DiffBantu.gf index 03468dec..68750391 100644 --- a/src/bantu/DiffBantu.gf +++ b/src/bantu/DiffBantu.gf @@ -19,7 +19,7 @@ param oper -- AGRE = {g : Gender ; n : Number ; p : Person} ; - Agre : Type = {g : Gender ; n : Number ; p : Person} ; + Agre : PType = {g : Gender ; n : Number ; p : Person} ; agre : Gender -> Number -> Person -> Agre = \g,n,p -> {g = g ; n = n ; p = p} ; agrFeatures : Agr -> Agre = \a -> case a of {Ag g n p => {g = g ; n = n ; p = p}} ; diff --git a/src/basque/CatEus.gf b/src/basque/CatEus.gf index 28687c0c..cc982df0 100644 --- a/src/basque/CatEus.gf +++ b/src/basque/CatEus.gf @@ -121,7 +121,7 @@ concrete CatEus of Cat = CommonX ** open ResEus, Prelude in { N = ResEus.Noun ; N2 = ResEus.Noun2 ; N3 = ResEus.Noun3 ; - PN = ResEus.PNoun ; + PN,LN,GN,SN = ResEus.PNoun ; linref diff --git a/src/basque/ConjunctionEus.gf b/src/basque/ConjunctionEus.gf index bd3c2c79..658b412e 100644 --- a/src/basque/ConjunctionEus.gf +++ b/src/basque/ConjunctionEus.gf @@ -91,7 +91,7 @@ oper -- Use linCNIndef so that words with FinalA get the -a at the end baseCN : CN -> CN -> [CN] = \x,y -> - y ** --choose all the other fields from second argument + lin ListCN y ** --choose all the other fields from second argument { s1 = \\agr => linCNIndef x ; s2 = y.s } ; @@ -144,4 +144,4 @@ oper conjNbr : Number -> Number -> Number = \n,m -> case n of { Pl => Pl ; _ => m } ; -} \ No newline at end of file +} diff --git a/src/basque/DocumentationEus.gf b/src/basque/DocumentationEus.gf new file mode 100644 index 00000000..f62cbf27 --- /dev/null +++ b/src/basque/DocumentationEus.gf @@ -0,0 +1,65 @@ +--# -path=.:../abstract:../common +concrete DocumentationEus of Documentation = CatEus ** open + ResEus, + Prelude, + HTML in { + +lincat + Inflection = {t : Str; s1,s2 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin + InflectionN, InflectionN2, InflectionN3 = \n -> { + t = "n" ; + s1 = heading1 "Noun" ; + s2 = frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "absolutive" ++ td (n.s++artDef ! Sg ! Abs ! n.ph) ++ td (n.s++artDef ! Pl ! Abs ! n.ph)) ++ + tr (th "ergative" ++ td (n.s++artDef ! Sg ! Erg ! n.ph) ++ td (n.s++artDef ! Pl ! Erg ! n.ph)) ++ + tr (th "dative" ++ td (n.s++artDef ! Sg ! Dat ! n.ph) ++ td (n.s++artDef ! Pl ! Dat ! n.ph)) ++ + tr (th "genitive" ++ td (n.s++artDef ! Sg ! Gen ! n.ph) ++ td (n.s++artDef ! Pl ! Gen ! n.ph)) ++ + tr (th "commitative" ++ td (n.s++artDef ! Sg ! Soc ! n.ph) ++ td (n.s++artDef ! Pl ! Soc ! n.ph)) ++ + tr (th "instrumental"++ td (n.s++artDef ! Sg ! Ins ! n.ph) ++ td (n.s++artDef ! Pl ! Ins ! n.ph)) ++ + tr (th "inessive" ++ td (n.s++artDef ! Sg ! Ine ! n.ph) ++ td (n.s++artDef ! Pl ! Ine ! n.ph)) ++ + tr (th "partitive" ++ td (n.s++artDef ! Sg ! Par ! n.ph) ++ td (n.s++artDef ! Pl ! Par ! n.ph)) + ) ; + } ; + + InflectionA, InflectionA2, InflectionA3 = \a -> { + t = "a" ; + s1 = heading1 "Adjective" ; + s2 = frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "absolutive" ++ td (a.s ! AF Posit++artDef ! Sg ! Abs ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Abs ! a.ph)) ++ + tr (th "ergative" ++ td (a.s ! AF Posit++artDef ! Sg ! Erg ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Erg ! a.ph)) ++ + tr (th "dative" ++ td (a.s ! AF Posit++artDef ! Sg ! Dat ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Dat ! a.ph)) ++ + tr (th "genitive" ++ td (a.s ! AF Posit++artDef ! Sg ! Gen ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Gen ! a.ph)) ++ + tr (th "commitative" ++ td (a.s ! AF Posit++artDef ! Sg ! Soc ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Soc ! a.ph)) ++ + tr (th "instrumental"++ td (a.s ! AF Posit++artDef ! Sg ! Ins ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Ins ! a.ph)) ++ + tr (th "inessive" ++ td (a.s ! AF Posit++artDef ! Sg ! Ine ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Ine ! a.ph)) ++ + tr (th "partitive" ++ td (a.s ! AF Posit++artDef ! Sg ! Par ! a.ph) ++ td (a.s ! AF Posit++artDef ! Pl ! Par ! a.ph)) + ) ; + } ; + + InflectionV, InflectionV2, InflectionV3, InflectionVA, InflectionVS, InflectionVQ, InflectionV2A, InflectionV2S, InflectionV2Q = \v -> { + t = "v" ; + s1 = heading1 "Verb" ; + s2 = frameTable ( + tr (th "present" ++ td (v.prc ! Pres)) ++ + tr (th "past" ++ td (v.prc ! Past)) ++ + tr (th "future" ++ td (v.prc ! Fut)) + ) ; + } ; + +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 ++ paragraph e.s} ; + MkTag i = {s = i.t} ; + +} diff --git a/src/basque/LangEus.gf b/src/basque/LangEus.gf index e0c69f69..0bee5530 100644 --- a/src/basque/LangEus.gf +++ b/src/basque/LangEus.gf @@ -2,7 +2,8 @@ concrete LangEus of Lang = GrammarEus, LexiconEus, ConstructionEus + ,DocumentationEus --# notpresent ** { -} ; \ No newline at end of file +} ; diff --git a/src/basque/LexiconEus.gf b/src/basque/LexiconEus.gf index 1fc3555e..143f49a9 100644 --- a/src/basque/LexiconEus.gf +++ b/src/basque/LexiconEus.gf @@ -196,7 +196,7 @@ lin jump_V = mkV "jauzi" egin_V ; --Apertium lin kill_V2 = mkV2 "hil" ; --Apertium lin king_N = mkN "errege" animate ; --Apertium lin knee_N = mkN "belaun" ; --Apertium -lin know_V2 = lin V2 jakin_V2 ; -- synthetic verb +lin know_V2 = jakin_V2 ; -- synthetic verb lin know_VQ = lin VQ jakin_V2 ; -- synthetic verb lin know_VS = ukanV "uste" ; @@ -426,11 +426,11 @@ oper egin_V : V = mkV "egin" ; -- Some synthetic verbs - etorri_V : R.Verb = R.syntVerbDa "etorri" R.Etorri ; + etorri_V : V = lin V (R.syntVerbDa "etorri" R.Etorri) ; - ibili_V : R.Verb = R.syntVerbDa "ibili" R.Ibili ; + ibili_V : V = lin V (R.syntVerbDa "ibili" R.Ibili) ; - jakin_V2 : R.Verb = R.syntVerbDu "jakin" R.Jakin ; + jakin_V2 : V2 = lin V2 (R.syntVerbDu "jakin" R.Jakin) ; - joan_V : R.Verb = R.syntVerbDa "joan" R.Joan ; -} \ No newline at end of file + joan_V : V = lin V (R.syntVerbDa "joan" R.Joan) ; +} diff --git a/src/basque/NumeralEus.gf b/src/basque/NumeralEus.gf index 4cb1c5fb..de9be7a5 100644 --- a/src/basque/NumeralEus.gf +++ b/src/basque/NumeralEus.gf @@ -29,6 +29,8 @@ lincat Sub10 = LinDigit ; lincat Sub100 = {s : Str ; n : Number } ; lincat Sub1000 = {s : Str ; n : Number ; isHundred : Bool } ; lincat Sub1000000 = {s : Str ; n : Number } ; +lincat Sub1000000000 = {s : Str ; n : Number } ; +lincat Sub1000000000000 = {s : Str ; n : Number } ; ---------------------------------------------------------------------------- diff --git a/src/basque/ParadigmsEus.gf b/src/basque/ParadigmsEus.gf index 4bbce1da..4c04a8e9 100644 --- a/src/basque/ParadigmsEus.gf +++ b/src/basque/ParadigmsEus.gf @@ -42,7 +42,10 @@ oper } ; mkPN : Str -> PN = \s -> lin PN (mkPNoun s) ; - + mkLN : Str -> LN = \s -> lin LN (mkPNoun s) ; + mkGN : Str -> GN = \s -> lin GN (mkPNoun s) ; + mkSN : Str -> SN = \s -> lin SN (mkPNoun s) ; + mkN2 = overload { mkN2 : Str -> N2 = \s -> lin N2 (mkNoun2 s genitive) ; mkN2 : Str -> Case -> N2 = \s,cas -> lin N2 (mkNoun2 s cas) ; @@ -64,7 +67,7 @@ oper mkA = overload { mkA : Str -> A = \s -> lin A (regAdj s) ; - mkA : Str -> A -> A = \s,a -> irregAdvAdj s a + mkA : Str -> A -> A = \s,a -> lin A (irregAdvAdj s a) } ; mkA2 : Str -> Prep -> A2 = \s,pp -> lin A2 (regAdj s ** { compl = pp }) ; @@ -101,7 +104,7 @@ oper mkV2A : Str -> V2A = \s -> lin V2A (mkVerbDu s) ; -- Nor-nork mkVQ : Str -> VQ = \s -> lin VQ (mkVerbDu s) ; -- Nor-nork mkVS : Str -> VS = \s -> lin VS (mkVerbDu s) ; -- Nor-nork - + mkVV : V -> VV = \v -> lin VV v ; mkV2V : Str -> V2V = \s -> lin V2V (mkVerbDio s) ; -- ??? TODO check valency mkV2S : Str -> V2S = \s -> lin V2S (mkVerbDio s) ; -- Nor-nori-nork: (mutilari) (neska datorrela) erantzun diot @@ -113,15 +116,15 @@ oper -- Verbs with non-inflecting participle -- These are just Verb, use izanV or egonV for intransitive and ukanV for transitive. - izanV : Str -> Verb = \bizi -> - mkVerbDa bizi ** { prc = \\_ => bizi } ; -- Non-inflecting participle, auxtype is Da (nor): e.g. "bizi naiz", "beldur naiz" + izanV : Str -> V = \bizi -> + lin V (mkVerbDa bizi ** { prc = \\_ => bizi }) ; -- Non-inflecting participle, auxtype is Da (nor): e.g. "bizi naiz", "beldur naiz" - egonV : Str -> Verb = \zain -> - mkVerbDaEgon zain ** { prc = \\_ => zain } ; -- Non-inflecting participle, auxtype is Da (nor), but with egon: e.g. "zain nago" + egonV : Str -> V = \zain -> + lin V (mkVerbDaEgon zain ** { prc = \\_ => zain }) ; -- Non-inflecting participle, auxtype is Da (nor), but with egon: e.g. "zain nago" - ukanV : Str -> Verb = \maite -> - mkVerbDu maite ** { prc = \\_ => maite } ; -- Non-inflecting participle, auxtype is Du (nor-nork): e.g, "maite zaitut" + ukanV : Str -> V = \maite -> + lin V (mkVerbDu maite ** { prc = \\_ => maite }) ; -- Non-inflecting participle, auxtype is Du (nor-nork): e.g, "maite zaitut" --2 Structural categories @@ -154,6 +157,10 @@ oper mkAdA : Str -> AdA = \s -> lin AdA {s = s} ; + oper mkAdN : Str -> AdN = \s -> lin AdN {s=s} ; + + oper mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; + oper mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; --. ------------------------------------------------------------------------------- diff --git a/src/belarusian/AdjectiveBel.gf b/src/belarusian/AdjectiveBel.gf new file mode 100644 index 00000000..1ea6e1a5 --- /dev/null +++ b/src/belarusian/AdjectiveBel.gf @@ -0,0 +1,4 @@ +concrete AdjectiveBel of Adjective = CatBel ** { +lin + PositA a = a ; +} diff --git a/src/belarusian/AllBel.gf b/src/belarusian/AllBel.gf new file mode 100644 index 00000000..0e90412a --- /dev/null +++ b/src/belarusian/AllBel.gf @@ -0,0 +1,4 @@ +concrete AllBel of AllBelAbs = + LangBel + ** + {} ; diff --git a/src/belarusian/AllBelAbs.gf b/src/belarusian/AllBelAbs.gf new file mode 100644 index 00000000..24fc6116 --- /dev/null +++ b/src/belarusian/AllBelAbs.gf @@ -0,0 +1,3 @@ +abstract AllBelAbs = + Lang + ** {} \ No newline at end of file diff --git a/src/belarusian/CatBel.gf b/src/belarusian/CatBel.gf new file mode 100644 index 00000000..9dd0d5f7 --- /dev/null +++ b/src/belarusian/CatBel.gf @@ -0,0 +1,21 @@ +concrete CatBel of Cat = CommonX ** open ResBel in { + +lincat N = Noun ; +lincat N2 = Noun ** {c2 : Compl} ; +lincat N3 = Noun ** {c2,c3 : Compl} ; +lincat V = V ; +lincat VV,VS,VQ,VA = V ; +lincat V2 = V ** {c2 : Compl} ; +lincat V3,V2A,V2S,V2Q,V2V = V ** {c2,c3 : Compl} ; +lincat A = A ; +lincat A2 = A ** {c2 : Compl} ; +lincat Prep = Compl ; +lincat CN = CommonNoun ; +lincat AP = AdjPhrase ; +lincat S = {s : Str} ; + +lincat LN,SN,GN,PN = {s : Str} ; + +linref V,VV,V2,V3,V2A,V2S,V2Q,V2V = \v -> v.infinitive ; + +} diff --git a/src/belarusian/DocumentationBel.gf b/src/belarusian/DocumentationBel.gf new file mode 100644 index 00000000..ac1eb55e --- /dev/null +++ b/src/belarusian/DocumentationBel.gf @@ -0,0 +1,77 @@ +concrete DocumentationBel of Documentation = CatBel ** open + ResBel, 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="" ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! Sg) ++ td (x.s ! Nom ! Pl)) ++ + tr (th "Acc" ++ td (x.s ! Acc ! Sg) ++ td (x.s ! Acc ! Pl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++ + tr (th "Gen" ++ td (x.s ! Gen ! Sg) ++ td (x.s ! Gen ! Pl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++ + tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! Pl))) ; + s3=[] + } ; +lin + InflectionV,InflectionV2,InflectionV2A,InflectionV2Q,InflectionV2S,InflectionV2V,InflectionV3,InflectionVA,InflectionVQ,InflectionVS,InflectionVV = \x -> { + t="v" ; + s1="" ; + s2=heading1 "Infinitive" ++ + paragraph (x.infinitive) ++ + heading1 "Present" ++ + frameTable ( + tr (intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P1 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P2 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P2 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P3 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P3 ! Pl))) ++ + heading1 "Imperative" ++ + frameTable ( + tr (th "Sg" ++ td (x.imperative ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Pl))) ++ + heading1 "participle" ++ + frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Masc" ++ td (x.participle ! Masc ! Sg) ++ td (x.participle ! Masc ! Pl)) ++ + tr (th "Fem" ++ td (x.participle ! Fem ! Sg) ++ td (x.participle ! Fem ! Pl)) ++ + tr (th "Neuter" ++ td (x.participle ! Neuter ! Sg) ++ td (x.participle ! Neuter ! Pl))) ; + s3=[] + } ; +lin + InflectionA,InflectionA2 = \x -> { + t="a" ; + s1="" ; + s2=frameTable ( + tr (th "" ++ th "Masc" ++ th "Fem" ++ th "Neuter" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! GSg Masc) ++ td (x.s ! Nom ! GSg Fem) ++ td (x.s ! Nom ! GSg Neuter) ++ td (x.s ! Nom ! GPl)) ++ + tr (th "Acc" ++ td (x.s ! Acc ! GSg Masc) ++ td (x.s ! Acc ! GSg Fem) ++ td (x.s ! Acc ! GSg Neuter) ++ td (x.s ! Acc ! GPl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! GSg Masc) ++ td (x.s ! Dat ! GSg Fem) ++ td (x.s ! Dat ! GSg Neuter) ++ td (x.s ! Dat ! GPl)) ++ + tr (th "Gen" ++ td (x.s ! Gen ! GSg Masc) ++ td (x.s ! Gen ! GSg Fem) ++ td (x.s ! Gen ! GSg Neuter) ++ td (x.s ! Gen ! GPl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! GSg Masc) ++ td (x.s ! Loc ! GSg Fem) ++ td (x.s ! Loc ! GSg Neuter) ++ td (x.s ! Loc ! GPl)) ++ + tr (th "Instr"++td (x.s ! Instr ! GSg Masc)++td (x.s ! Instr ! GSg Fem)++td (x.s ! Instr ! GSg Neuter)++td (x.s ! Instr ! GPl))) ; + s3=[] + } ; +lin + InflectionAdA,InflectionAdN,InflectionAdV,InflectionAdv = \x -> {t="adv"; s1=""; s2=x.s; s3=""} ; + + InflectionPrep = \x -> {t="prep"; s1=""; s2=x.s; 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/belarusian/GrammarBel.gf b/src/belarusian/GrammarBel.gf new file mode 100644 index 00000000..242b4cbe --- /dev/null +++ b/src/belarusian/GrammarBel.gf @@ -0,0 +1,6 @@ +concrete GrammarBel of Grammar = + TenseX, + PhraseBel, + NounBel, + AdjectiveBel ** { +} \ No newline at end of file diff --git a/src/belarusian/LangBel.gf b/src/belarusian/LangBel.gf new file mode 100644 index 00000000..c658c252 --- /dev/null +++ b/src/belarusian/LangBel.gf @@ -0,0 +1,10 @@ +--# -path=.:../abstract +concrete LangBel of Lang = + GrammarBel, + LexiconBel + ,DocumentationBel --# notpresent + ** { + +flags startcat = Phr ; + +} \ No newline at end of file diff --git a/src/belarusian/LexiconBel.gf b/src/belarusian/LexiconBel.gf new file mode 100644 index 00000000..88348827 --- /dev/null +++ b/src/belarusian/LexiconBel.gf @@ -0,0 +1,2 @@ +concrete LexiconBel of Lexicon = CatBel ** open ParadigmsBel in { +} \ No newline at end of file diff --git a/src/belarusian/MorphoBel.gf b/src/belarusian/MorphoBel.gf new file mode 100644 index 00000000..43e980c4 --- /dev/null +++ b/src/belarusian/MorphoBel.gf @@ -0,0 +1,29614 @@ +resource MorphoBel = open CatBel, ResBel, Predef in { + +oper + +mkN001 : Str -> N ; +mkN001 base = + case base of { + base_1+"от" => lin N + { s = table { + Nom => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Acc => table { + Sg => base_1+"ата" ; + Pl => base_1+"атоў" + } ; + Dat => table { + Sg => base_1+"ату" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"ата" ; + Pl => base_1+"атоў" + } ; + Loc => table { + Sg => base_1+"аце" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"атом" ; + Pl => base_1+"атамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN001" + } ; + +mkN002 : Str -> N ; +mkN002 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"ы" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ам" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN002" + } ; + +mkN003 : Str -> N ; +mkN003 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ак" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"ак" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN003" + } ; + +mkN004 : Str -> N ; +mkN004 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"кі" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"ак" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN004" + } ; + +mkN005 : Str -> N ; +mkN005 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + } ; + +mkN006 : Str -> N ; +mkN006 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN007 : Str -> N ; +mkN007 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + } ; + +mkN008 : Str -> N ; +mkN008 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN009 : Str -> N ; +mkN009 base = + case base of { + base_1@("зв"|?)+"о"+base_2 => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN009" + } ; + +mkN010 : Str -> N ; +mkN010 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN010" + } ; + +mkN011 : Str -> N ; +mkN011 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + } ; + +mkN012 : Str -> N ; +mkN012 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN012" + } ; + +mkN013 : Str -> N ; +mkN013 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + } ; + +mkN014 : Str -> N ; +mkN014 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN014" + } ; + +mkN015 : Str -> N ; +mkN015 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN015" + } ; + +mkN016 : Str -> N ; +mkN016 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN016" + } ; + +mkN017 : Str -> N ; +mkN017 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN017" + } ; + +mkN018 : Str -> N ; +mkN018 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN018" + } ; + +mkN019 : Str -> N ; +mkN019 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base+"у" ; + g = Masc + }; + +mkN020 : Str -> N ; +mkN020 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"гі" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"гі" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гой" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN020" + } ; + +mkN021 : Str -> N ; +mkN021 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"гі" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"гі" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гай" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN021" + } ; + +mkN022 : Str -> N ; +mkN022 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN022" + } ; + +mkN023 : Str -> N ; +mkN023 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"це" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ты" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"тай" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN023" + } ; + +mkN024 : Str -> N ; +mkN024 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN024" + } ; + +mkN025 : Str -> N ; +mkN025 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base_1+"це" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN025" + } ; + +mkN026 : Str -> N ; +mkN026 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"кі" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN026" + } ; + +mkN027 : Str -> N ; +mkN027 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN028 : Str -> N ; +mkN028 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ы" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN028" + } ; + +mkN029 : Str -> N ; +mkN029 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN029" + } ; + +mkN030 : Str -> N ; +mkN030 base = + case base of { + base_1@?+"о"+base_2 => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN030" + } ; + +mkN031 : Str -> N ; +mkN031 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN032 : Str -> N ; +mkN032 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN032" + } ; + +mkN033 : Str -> N ; +mkN033 base = + case base of { + base_1+"ог" => lin N + { s = table { + Nom => table { + Sg => base_1+"ог" ; + Pl => base_1+"агі" + } ; + Acc => table { + Sg => base_1+"ога" ; + Pl => base_1+"агоў" + } ; + Dat => table { + Sg => base_1+"огу" ; + Pl => base_1+"агам" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"агоў" + } ; + Loc => table { + Sg => base_1+"озе" ; + Pl => base_1+"агах" + } ; + Instr => table { + Sg => base_1+"огам" ; + Pl => base_1+"агамі" + } + } ; + voc = base_1+"ожа" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN033" + } ; + +mkN034 : Str -> N ; +mkN034 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN035 : Str -> N ; +mkN035 base = + case base of { + base_1+"о"+base_2@("ўб"|"рб"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN035" + } ; + +mkN036 : Str -> N ; +mkN036 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN036" + } ; + +mkN037 : Str -> N ; +mkN037 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base+"зе" ; + g = Masc + } ; + +mkN038 : Str -> N ; +mkN038 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base+"е" ; + g = Masc + }; + +mkN039 : Str -> N ; +mkN039 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN039" + } ; + +mkN040 : Str -> N ; +mkN040 base = + case base of { + base_1+"й"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"й"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"й"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"й"+base_2+"ы" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ом" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN040" + } ; + +mkN041 : Str -> N ; +mkN041 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN041" + } ; + +mkN042 : Str -> N ; +mkN042 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN043 : Str -> N ; +mkN043 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + } ; + +mkN044 : Str -> N ; +mkN044 base = + case base of { + base_1@?+"о"+base_2 => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN044" + } ; + +mkN045 : Str -> N ; +mkN045 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN046 : Str -> N ; +mkN046 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN047 : Str -> N ; +mkN047 base = + case base of { + base_1+"о"+base_2@?+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"т" ; + Pl => base_1+"а"+base_2+"ты" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"т" ; + Pl => base_1+"а"+base_2+"ты" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ту" ; + Pl => base_1+"а"+base_2+"там" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"та" ; + Pl => base_1+"а"+base_2+"тоў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"це" ; + Pl => base_1+"а"+base_2+"тах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"там" ; + Pl => base_1+"а"+base_2+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN047" + } ; + +mkN048 : Str -> N ; +mkN048 base = + case base of { + base_1@("пл"|?)+"о"+base_2 => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"зе" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN048" + } ; + +mkN049 : Str -> N ; +mkN049 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"зья" + } ; + Acc => table { + Sg => base_1+"га" ; + Pl => base_1+"зей" + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => base_1+"зьям" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"зей" + } ; + Loc => table { + Sg => base_1+"гу" ; + Pl => base_1+"зьях" + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => base_1+"зьямі" + } + } ; + voc = base_1+"жа" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN049" + } ; + +mkN050 : Str -> N ; +mkN050 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN051 : Str -> N ; +mkN051 base = + case base of { + base_1+"ва" => lin N + { s = table { + Nom => table { + Sg => base_1+"ва" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ву" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ве" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"вы" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вой" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN051" + } ; + +mkN052 : Str -> N ; +mkN052 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"я"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN052" + } ; + +mkN053 : Str -> N ; +mkN053 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN053" + } ; + +mkN054 : Str -> N ; +mkN054 base = + case base of { + base_1+"о"+base_2@?+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"т" ; + Pl => base_1+"а"+base_2+"ты" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"т" ; + Pl => base_1+"а"+base_2+"ты" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ту" ; + Pl => base_1+"а"+base_2+"там" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"та" ; + Pl => base_1+"а"+base_2+"тоў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"це" ; + Pl => base_1+"а"+base_2+"тах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"том" ; + Pl => base_1+"а"+base_2+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN054" + } ; + +mkN055 : Str -> N ; +mkN055 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN055" + } ; + +mkN056 : Str -> N ; +mkN056 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ту" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN056" + } ; + +mkN057 : Str -> N ; +mkN057 base = + case base of { + base_1+"о"+base_2@("лас"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN057" + } ; + +mkN058 : Str -> N ; +mkN058 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => "і"+base_1+"ь"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ё"+base_2 ; + Pl => "і"+base_1+"ь"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ё"+base_2+"у" ; + Pl => "і"+base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ё"+base_2+"у" ; + Pl => "і"+base_1+"ь"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ё"+base_2+"зе" ; + Pl => "і"+base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ё"+base_2+"ам" ; + Pl => "і"+base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN058" + } ; + +mkN059 : Str -> N ; +mkN059 base = + case base of { + base_1+"о"+base_2@("ўш"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN059" + } ; + +mkN060 : Str -> N ; +mkN060 base = + case base of { + base_1+"о"+base_2@(?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN060" + } ; + +mkN061 : Str -> N ; +mkN061 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" --guessed + } ; + Acc => table { + Sg => base ; --guessed + Pl => base+"і" --guessed + } ; + Dat => table { + Sg => base+"у" ; --guessed + Pl => base+"ам" --guessed + } ; + Gen => table { + Sg => base+"а" ; --guessed + Pl => base+"оў" --guessed + } ; + Loc => table { + Sg => base+"у" ; --guessed + Pl => base+"ах" --guessed + } ; + Instr => table { + Sg => base+"ом" ; --guessed + Pl => base+"амі" --guessed + } + } ; + voc = base+"у" ; --guessed ; + g = Neuter + }; + +mkN062 : Str -> N ; +mkN062 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN063 : Str -> N ; +mkN063 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN064 : Str -> N ; +mkN064 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN064" + } ; + +mkN065 : Str -> N ; +mkN065 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN065" + } ; + +mkN066 : Str -> N ; +mkN066 base = + case base of { + base_1+"о"+base_2@("лад"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"зе" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN066" + } ; + +mkN067 : Str -> N ; +mkN067 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN067" + } ; + +mkN068 : Str -> N ; +mkN068 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN068" + } ; + +mkN069 : Str -> N ; +mkN069 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN069" + } ; + +mkN070 : Str -> N ; +mkN070 base = + case base of { + base_1+"а"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN070" + } ; + +mkN071 : Str -> N ; +mkN071 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => nonExist + } ; + Acc => table { + Sg => base ; + Pl => nonExist + } ; + Dat => table { + Sg => base+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + +mkN072 : Str -> N ; +mkN072 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"яй" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN072" + } ; + +mkN073 : Str -> N ; +mkN073 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN073" + } ; + +mkN074 : Str -> N ; +mkN074 base = + case base of { + base_1+"ая" => lin N + { s = table { + Nom => table { + Sg => base_1+"ая" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ую" ; + Pl => base_1+"ыя" + } ; + Dat => table { + Sg => base_1+"ай" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ай" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ай" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN074" + } ; + +mkN075 : Str -> N ; +mkN075 base = + case base of { + base_1+base_2@?+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ня" ; + Pl => base_1+base_2+"ні" + } ; + Acc => table { + Sg => base_1+base_2+"ню" ; + Pl => base_1+base_2+"ні" + } ; + Dat => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+base_2+"ням" + } ; + Gen => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+"ен"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+base_2+"нях" + } ; + Instr => table { + Sg => base_1+base_2+"няй" ; + Pl => base_1+base_2+"нямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN075" + } ; + +mkN076 : Str -> N ; +mkN076 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"а"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"яй" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN076" + } ; + +mkN077 : Str -> N ; +mkN077 base = + case base of { + base_1+"ег" => lin N + { s = table { + Nom => table { + Sg => base_1+"ег" ; + Pl => base_1+"ягі" + } ; + Acc => table { + Sg => base_1+"ег" ; + Pl => base_1+"ягі" + } ; + Dat => table { + Sg => base_1+"егу" ; + Pl => base_1+"ягам" + } ; + Gen => table { + Sg => base_1+"егу" ; + Pl => base_1+"ягоў" + } ; + Loc => table { + Sg => base_1+"езе" ; + Pl => base_1+"ягах" + } ; + Instr => table { + Sg => base_1+"егам" ; + Pl => base_1+"ягамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN077" + } ; + +mkN078 : Str -> N ; +mkN078 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"аў" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN078" + } ; + +mkN079 : Str -> N ; +mkN079 base = + case base of { + base_1+"а"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN079" + } ; + +mkN080 : Str -> N ; +mkN080 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN080" + } ; + +mkN081 : Str -> N ; +mkN081 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN082 : Str -> N ; +mkN082 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN083 : Str -> N ; +mkN083 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"аў" + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN083" + } ; + +mkN084 : Str -> N ; +mkN084 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN085 : Str -> N ; +mkN085 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN086 : Str -> N ; +mkN086 base = + case base of { + base_1+"от" => lin N + { s = table { + Nom => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Acc => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Dat => table { + Sg => base_1+"оту" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"ота" ; + Pl => base_1+"атоў" + } ; + Loc => table { + Sg => base_1+"оце" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"отам" ; + Pl => base_1+"атамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN086" + } ; + +mkN087 : Str -> N ; +mkN087 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN087" + } ; + +mkN088 : Str -> N ; +mkN088 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" --guessed + } ; + Acc => table { + Sg => base ; --guessed + Pl => base+"і" --guessed + } ; + Dat => table { + Sg => base+"у" ; --guessed + Pl => base+"ам" --guessed + } ; + Gen => table { + Sg => base+"а" ; --guessed + Pl => base+"оў" --guessed + } ; + Loc => table { + Sg => base+"у" ; --guessed + Pl => base+"ах" --guessed + } ; + Instr => table { + Sg => base+"ом" ; --guessed + Pl => base+"амі" --guessed + } + } ; + voc = base+"у" ; --guessed + g = Fem + }; + +mkN089 : Str -> N ; +mkN089 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ём" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN089" + } ; + +mkN090 : Str -> N ; +mkN090 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN091 : Str -> N ; +mkN091 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN091" + } ; + +mkN092 : Str -> N ; +mkN092 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN092" + } ; + +mkN093 : Str -> N ; +mkN093 base = + case base of { + base_1+"е"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёны" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёны" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ёнам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ён" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ёнах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"я"+base_2+"ёнамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN093" + } ; + +mkN094 : Str -> N ; +mkN094 base = + case base of { + base_1+"ое"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ое"+base_2 ; + Pl => base_1+"ая"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ое"+base_2 ; + Pl => base_1+"ая"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ое"+base_2+"у" ; + Pl => base_1+"ая"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ое"+base_2+"а" ; + Pl => base_1+"ая"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ое"+base_2+"зе" ; + Pl => base_1+"ая"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ое"+base_2+"ам" ; + Pl => base_1+"ая"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN094" + } ; + +mkN095 : Str -> N ; +mkN095 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base + } ; + Acc => table { + Sg => base ; --guessed + Pl => base --guessed + } ; + Dat => table { + Sg => base ; --guessed + Pl => base --guessed + } ; + Gen => table { + Sg => base ; + Pl => base + } ; + Loc => table { + Sg => base ; --guessed + Pl => base --guessed + } ; + Instr => table { + Sg => base ; --guessed + Pl => base --guessed + } + } ; + voc = base ; + g = Neuter + }; + +mkN096 : Str -> N ; +mkN096 base = + case base of { + base_1+"о"+base_2@?+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN096" + } ; + +mkN097 : Str -> N ; +mkN097 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"кі" + } ; + Dat => table { + Sg => base_1+"цэ" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"цэ" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кой" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN097" + } ; + +mkN098 : Str -> N ; +mkN098 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"лю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN098" + } ; + +mkN099 : Str -> N ; +mkN099 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" --guessed + } ; + Acc => table { + Sg => base ; + Pl => base+"і" --guessed + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" --guessed + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" --guessed + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" --guessed + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" --guessed + } + } ; + voc = base+"у" ; --guessed + g = Masc + }; + +mkN100 : Str -> N ; +mkN100 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN100" + } ; + +mkN101 : Str -> N ; +mkN101 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ё"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ё"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ё"+base_2+"зе" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ё"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN101" + } ; + +mkN102 : Str -> N ; +mkN102 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN102" + } ; + +mkN103 : Str -> N ; +mkN103 base = + case base of { + base_1+"о"+base_2@?+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"т" ; + Pl => base_1+"э"+base_2+"ці" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"та" ; + Pl => base_1+"а"+base_2+"цей" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ту" ; + Pl => base_1+"а"+base_2+"цям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"та" ; + Pl => base_1+"а"+base_2+"цей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"це" ; + Pl => base_1+"а"+base_2+"цях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"там" ; + Pl => base_1+"а"+base_2+"цямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN103" + } ; + +mkN104 : Str -> N ; +mkN104 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN104" + } ; + +mkN105 : Str -> N ; +mkN105 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN105" + } ; + +mkN106 : Str -> N ; +mkN106 base = + case base of { + base_1+"е"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN106" + } ; + +mkN107 : Str -> N ; +mkN107 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN107" + } ; + +mkN108 : Str -> N ; +mkN108 base = + case base of { + base_1+"я"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"й"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"ы" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ам" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN108" + } ; + +mkN109 : Str -> N ; +mkN109 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => "і"+base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => "і"+base_1+base_2+"ы" + } ; + Dat => table { + Sg => "і"+base_1+base_2+"у" ; + Pl => "і"+base_1+base_2+"ам" + } ; + Gen => table { + Sg => "і"+base_1+base_2+"а" ; + Pl => "і"+base_1+base_2+"оў" + } ; + Loc => table { + Sg => "і"+base_1+base_2+"е" ; + Pl => "і"+base_1+base_2+"ах" + } ; + Instr => table { + Sg => "і"+base_1+base_2+"ом" ; + Pl => "і"+base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN109" + } ; + +mkN110 : Str -> N ; +mkN110 base = + case base of { + base_1+"е"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ём" ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN110" + } ; + +mkN111 : Str -> N ; +mkN111 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN111" + } ; + +mkN112 : Str -> N ; +mkN112 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ём" ; + Pl => base_1+"о"+base_2+"ьмі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN112" + } ; + +mkN113 : Str -> N ; +mkN113 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN114 : Str -> N ; +mkN114 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хі" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"х" + } ; + Dat => table { + Sg => base_1+"се" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хі" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"се" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хай" ; + Pl => base_1+"хамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN114" + } ; + +mkN115 : Str -> N ; +mkN115 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гоў" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN115" + } ; + +mkN116 : Str -> N ; +mkN116 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"сю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN116" + } ; + +mkN117 : Str -> N ; +mkN117 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN117" + } ; + +mkN118 : Str -> N ; +mkN118 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ём" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN118" + } ; + +mkN119 : Str -> N ; +mkN119 base = + case base of { + base_1+"от" => lin N + { s = table { + Nom => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Acc => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Dat => table { + Sg => base_1+"оту" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"оту" ; + Pl => base_1+"атоў" + } ; + Loc => table { + Sg => base_1+"оце" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"отам" ; + Pl => base_1+"атамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN119" + } ; + +mkN120 : Str -> N ; +mkN120 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; --guessed + Pl => base+"аў" --guessed + } ; + Dat => table { + Sg => base+"у" ; --guessed + Pl => base+"ам" --guessed + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"е" ; --guessed + Pl => base+"ах" --guessed + } ; + Instr => table { + Sg => base+"ам" ; --guessed + Pl => base+"амі" --guessed + } + } ; + voc = base+"зе" ; --guessed + g = Masc + }; + +mkN121 : Str -> N ; +mkN121 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN121" + } ; + +mkN122 : Str -> N ; +mkN122 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"ь"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ом" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN122" + } ; + +mkN123 : Str -> N ; +mkN123 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"аў" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN123" + } ; + +mkN124 : Str -> N ; +mkN124 base = + case base of { + base_1+"йка" => lin N + { s = table { + Nom => table { + Sg => base_1+"йка" ; + Pl => base_1+"йкі" + } ; + Acc => table { + Sg => base_1+"йку" ; + Pl => base_1+"йкі" + } ; + Dat => table { + Sg => base_1+"йцы" ; + Pl => base_1+"йкам" + } ; + Gen => table { + Sg => base_1+"йкі" ; + Pl => base_1+"ек" + } ; + Loc => table { + Sg => base_1+"йцы" ; + Pl => base_1+"йках" + } ; + Instr => table { + Sg => base_1+"йкай" ; + Pl => base_1+"йкамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN124" + } ; + +mkN125 : Str -> N ; +mkN125 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"том" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN125" + } ; + +mkN126 : Str -> N ; +mkN126 base = + case base of { + base_1+"ака" => lin N + { s = table { + Nom => table { + Sg => base_1+"ака" ; + Pl => base_1+"экі" + } ; + Acc => table { + Sg => base_1+"аку" ; + Pl => base_1+"экі" + } ; + Dat => table { + Sg => base_1+"ацэ" ; + Pl => base_1+"экам" + } ; + Gen => table { + Sg => base_1+"акі" ; + Pl => base_1+"эк" + } ; + Loc => table { + Sg => base_1+"ацэ" ; + Pl => base_1+"эках" + } ; + Instr => table { + Sg => base_1+"акой" ; + Pl => base_1+"экамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN126" + } ; + +mkN127 : Str -> N ; +mkN127 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN127" + } ; + +mkN128 : Str -> N ; +mkN128 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ак" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"ак" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN128" + } ; + +mkN129 : Str -> N ; +mkN129 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"аў" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN129" + } ; + +mkN130 : Str -> N ; +mkN130 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN130" + } ; + +mkN131 : Str -> N ; +mkN131 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"таў" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN131" + } ; + +mkN132 : Str -> N ; +mkN132 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN132" + } ; + +mkN133 : Str -> N ; +mkN133 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN133" + } ; + +mkN134 : Str -> N ; +mkN134 base = + case base of { + base_1+"оў" => lin N + { s = table { + Nom => table { + Sg => base_1+"оў" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"оў" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ыві" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ыві" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ыві" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"оўю" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN134" + } ; + +mkN135 : Str -> N ; +mkN135 base = + case base of { + base_1+"я"+base_2@?+"т"+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"т"+base_3+"а" ; + Pl => base_1+"ё"+base_2+"т"+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"т"+base_3+"у" ; + Pl => base_1+"я"+base_2+"цё"+base_3 + } ; + Dat => table { + Sg => base_1+"я"+base_2+"т"+base_3+"ы" ; + Pl => base_1+"ё"+base_2+"т"+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"т"+base_3+"ы" ; + Pl => base_1+"я"+base_2+"цё"+base_3 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"т"+base_3+"ы" ; + Pl => base_1+"ё"+base_2+"т"+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"т"+base_3+"ой" ; + Pl => base_1+"ё"+base_2+"т"+base_3+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN135" + } ; + +mkN136 : Str -> N ; +mkN136 base = + case base of { + base_1+"а"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN136" + } ; + +mkN137 : Str -> N ; +mkN137 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN137" + } ; + +mkN138 : Str -> N ; +mkN138 base = + case base of { + base_1+"ва" => lin N + { s = table { + Nom => table { + Sg => base_1+"ва" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ву" ; + Pl => base_1+"ў" + } ; + Dat => table { + Sg => base_1+"ве" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"вы" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вай" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN138" + } ; + +mkN139 : Str -> N ; +mkN139 base = + case base of { + base_1+"а"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2 + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN139" + } ; + +mkN140 : Str -> N ; +mkN140 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN140" + } ; + +mkN141 : Str -> N ; +mkN141 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"аў" + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN141" + } ; + +mkN142 : Str -> N ; +mkN142 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"зі" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"зяў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"зям" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"зяў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"зях" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"зямі" + } + } ; + voc = base ; + g = Masc + }; + +mkN143 : Str -> N ; +mkN143 base = + case base of { + base_1+"ока" => lin N + { s = table { + Nom => table { + Sg => base_1+"ока" ; + Pl => base_1+"очы" + } ; + Acc => table { + Sg => base_1+"ока" ; + Pl => base_1+"очы" + } ; + Dat => table { + Sg => base_1+"оку" ; + Pl => base_1+"ачам" + } ; + Gen => table { + Sg => base_1+"ока" ; + Pl => base_1+"ачэй" + } ; + Loc => table { + Sg => base_1+"оку" ; + Pl => base_1+"ачах" + } ; + Instr => table { + Sg => base_1+"окам" ; + Pl => base_1+"ачамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN143" + } ; + +mkN144 : Str -> N ; +mkN144 base = + case base of { + base_1+"o" => lin N + { s = table { + Nom => table { + Sg => base_1+"o" ; + Pl => nonExist + } ; + Acc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"a" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN144" + } ; + +mkN145 : Str -> N ; +mkN145 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"аў" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN145" + } ; + +mkN146 : Str -> N ; +mkN146 base = + case base of { + base_1+"ава" => lin N + { s = table { + Nom => table { + Sg => base_1+"ава" ; + Pl => base_1+"овы" + } ; + Acc => table { + Sg => base_1+"аву" ; + Pl => base_1+"овы" + } ; + Dat => table { + Sg => base_1+"аве" ; + Pl => base_1+"овам" + } ; + Gen => table { + Sg => base_1+"авы" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => base_1+"аве" ; + Pl => base_1+"овах" + } ; + Instr => table { + Sg => base_1+"авой" ; + Pl => base_1+"овамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN146" + } ; + +mkN147 : Str -> N ; +mkN147 base = + case base of { + base_1+"е"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"ёсы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"ёсы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ёсам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"ёс" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ёсах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"ёсамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN147" + } ; + +mkN148 : Str -> N ; +mkN148 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN148" + } ; + +mkN149 : Str -> N ; +mkN149 base = + case base of { + base_1+"а"+base_2@(?+?)+"як" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"як" ; + Pl => base_1+"э"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"яка" ; + Pl => base_1+"а"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"яку" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"яка" ; + Pl => base_1+"а"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"яку" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"яком" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN149" + } ; + +mkN150 : Str -> N ; +mkN150 base = + case base of { + base_1+"ва" => lin N + { s = table { + Nom => table { + Sg => base_1+"ва" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ву" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ве" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"вы" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вай" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN150" + } ; + +mkN151 : Str -> N ; +mkN151 base = + case base of { + base_1+"й"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ам" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN151" + } ; + +mkN152 : Str -> N ; +mkN152 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN152" + } ; + +mkN153 : Str -> N ; +mkN153 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"яты" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ят" + } ; + Dat => table { + Sg => base_1+"яці" ; + Pl => base_1+"ятам" + } ; + Gen => table { + Sg => base_1+"яці" ; + Pl => base_1+"ят" + } ; + Loc => table { + Sg => base_1+"яці" ; + Pl => base_1+"ятах" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ятамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN153" + } ; + +mkN154 : Str -> N ; +mkN154 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN154" + } ; + +mkN155 : Str -> N ; +mkN155 base = + case base of { + base_1+"о"+base_2@("р"|(?+?)) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN155" + } ; + +mkN156 : Str -> N ; +mkN156 base = + case base of { + base_1+"ава" => lin N + { s = table { + Nom => table { + Sg => base_1+"ава" ; + Pl => base_1+"овы" + } ; + Acc => table { + Sg => base_1+"аву" ; + Pl => base_1+"оў" + } ; + Dat => table { + Sg => base_1+"аве" ; + Pl => base_1+"овам" + } ; + Gen => table { + Sg => base_1+"авы" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => base_1+"аве" ; + Pl => base_1+"овах" + } ; + Instr => table { + Sg => base_1+"авой" ; + Pl => base_1+"овамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN156" + } ; + +mkN157 : Str -> N ; +mkN157 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN157" + } ; + +mkN158 : Str -> N ; +mkN158 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN158" + } ; + +mkN159 : Str -> N ; +mkN159 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN159" + } ; + +mkN160 : Str -> N ; +mkN160 base = + case base of { + base_1+"йка" => lin N + { s = table { + Nom => table { + Sg => base_1+"йка" ; + Pl => base_1+"йкі" + } ; + Acc => table { + Sg => base_1+"йку" ; + Pl => base_1+"ек" + } ; + Dat => table { + Sg => base_1+"йцы" ; + Pl => base_1+"йкам" + } ; + Gen => table { + Sg => base_1+"йкі" ; + Pl => base_1+"ек" + } ; + Loc => table { + Sg => base_1+"йцы" ; + Pl => base_1+"йках" + } ; + Instr => table { + Sg => base_1+"йкай" ; + Pl => base_1+"йкамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN160" + } ; + +mkN161 : Str -> N ; +mkN161 base = + case base of { + base_1+"ўка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ўка" ; + Pl => base_1+"ўкі" + } ; + Acc => table { + Sg => base_1+"ўку" ; + Pl => base_1+"вак" + } ; + Dat => table { + Sg => base_1+"ўцы" ; + Pl => base_1+"ўкам" + } ; + Gen => table { + Sg => base_1+"ўкі" ; + Pl => base_1+"вак" + } ; + Loc => table { + Sg => base_1+"ўцы" ; + Pl => base_1+"ўках" + } ; + Instr => table { + Sg => base_1+"ўкай" ; + Pl => base_1+"ўкамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN161" + } ; + +mkN162 : Str -> N ; +mkN162 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ёй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN162" + } ; + +mkN163 : Str -> N ; +mkN163 base = + case base of { + base_1+"о"+base_2@("расц"|(?+?))+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN163" + } ; + +mkN164 : Str -> N ; +mkN164 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ню" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN164" + } ; + +mkN165 : Str -> N ; +mkN165 base = + case base of { + base_1+"я"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN165" + } ; + +mkN166 : Str -> N ; +mkN166 base = + case base of { + base_1+"ва" => lin N + { s = table { + Nom => table { + Sg => base_1+"ва" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ва" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ву" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ва" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вам" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN166" + } ; + +mkN167 : Str -> N ; +mkN167 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ёй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN167" + } ; + +mkN168 : Str -> N ; +mkN168 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN169 : Str -> N ; +mkN169 base = + case base of { + base_1+"ё"+base_2@(?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN169" + } ; + +mkN170 : Str -> N ; +mkN170 base = + case base of { + base_1+"я"+base_2@(?+?)+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"я" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"е"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ёй" ; + Pl => base_1+"е"+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN170" + } ; + +mkN171 : Str -> N ; +mkN171 base = + case base of { + "ча"+base_1+"авек" => lin N + { s = table { + Nom => table { + Sg => "ча"+base_1+"авек" ; + Pl => base_1+"юдзі" + } ; + Acc => table { + Sg => "ча"+base_1+"авека" ; + Pl => base_1+"юдзей" + } ; + Dat => table { + Sg => "ча"+base_1+"авеку" ; + Pl => base_1+"юдзям" + } ; + Gen => table { + Sg => "ча"+base_1+"авека" ; + Pl => base_1+"юдзей" + } ; + Loc => table { + Sg => "ча"+base_1+"авеку" ; + Pl => base_1+"юдзях" + } ; + Instr => table { + Sg => "ча"+base_1+"авекам" ; + Pl => base_1+"юдзьмі" + } + } ; + voc = "ча"+base_1+"авеча" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN171" + } ; + +mkN172 : Str -> N ; +mkN172 base = + case base of { + base_1+"о"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN172" + } ; + +mkN173 : Str -> N ; +mkN173 base = + case base of { + base_1+"зе"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"зе"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"зе"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN173" + } ; + +mkN174 : Str -> N ; +mkN174 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"гі" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"гі" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"гу" ; + Pl => base_1+"я"+base_2+"гам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"га" ; + Pl => base_1+"я"+base_2+"гоў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"гу" ; + Pl => base_1+"я"+base_2+"гах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"гом" ; + Pl => base_1+"я"+base_2+"гамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN174" + } ; + +mkN175 : Str -> N ; +mkN175 base = + case base of { + base_1+"ве"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2+"ь" ; + Pl => base_1+"ў"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ве"+base_2+"ь" ; + Pl => base_1+"ў"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"ю" ; + Pl => base_1+"ў"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"я" ; + Pl => base_1+"ў"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"і" ; + Pl => base_1+"ў"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ем" ; + Pl => base_1+"ў"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN175" + } ; + +mkN176 : Str -> N ; +mkN176 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN176" + } ; + +mkN177 : Str -> N ; +mkN177 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN177" + } ; + +mkN178 : Str -> N ; +mkN178 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN178" + } ; + +mkN179 : Str -> N ; +mkN179 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN179" + } ; + +mkN180 : Str -> N ; +mkN180 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN180" + } ; + +mkN181 : Str -> N ; +mkN181 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ыя" + } ; + Dat => table { + Sg => base_1+"аму" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ага" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ым" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ым" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN181" + } ; + +mkN182 : Str -> N ; +mkN182 base = + case base of { + base_1+"а"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"э"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"э"+base_2 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"э"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"э"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN182" + } ; + +mkN183 : Str -> N ; +mkN183 base = + case base of { + base_1+"зе"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"зе"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"зе"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+"зё"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ём" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN183" + } ; + +mkN184 : Str -> N ; +mkN184 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"ы" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"ы" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"чу" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Fem + }; + +mkN185 : Str -> N ; +mkN185 base = + case base of { + base_1+"я"+base_2@(?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"зе" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"ё"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"зе" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN185" + } ; + +mkN186 : Str -> N ; +mkN186 base = + case base of { + base_1+"еце"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"еце"+base_2 ; + Pl => base_1+"ят"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"еце"+base_2 ; + Pl => base_1+"ят"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ет"+base_2+"у" ; + Pl => base_1+"ят"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ет"+base_2+"у" ; + Pl => base_1+"ят"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ет"+base_2+"ы" ; + Pl => base_1+"ят"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ет"+base_2+"ам" ; + Pl => base_1+"ят"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN186" + } ; + +mkN187 : Str -> N ; +mkN187 base = + case base of { + base_1+"я"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"ё"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN187" + } ; + +mkN188 : Str -> N ; +mkN188 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN188" + } ; + +mkN189 : Str -> N ; +mkN189 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN189" + } ; + +mkN190 : Str -> N ; +mkN190 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN190" + } ; + +mkN191 : Str -> N ; +mkN191 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ка" ; + Pl => base_1+"коў" + } ; + Dat => table { + Sg => base_1+"ку" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"коў" + } ; + Loc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"камі" + } + } ; + voc = base_1+"ча" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN191" + } ; + +mkN192 : Str -> N ; +mkN192 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"зе" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN192" + } ; + +mkN193 : Str -> N ; +mkN193 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN194 : Str -> N ; +mkN194 base = + case base of { + base_1+"ог" => lin N + { s = table { + Nom => table { + Sg => base_1+"ог" ; + Pl => base_1+"агі" + } ; + Acc => table { + Sg => base_1+"ог" ; + Pl => base_1+"агі" + } ; + Dat => table { + Sg => base_1+"огу" ; + Pl => base_1+"агам" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"агоў" + } ; + Loc => table { + Sg => base_1+"озе" ; + Pl => base_1+"агах" + } ; + Instr => table { + Sg => base_1+"огам" ; + Pl => base_1+"агамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN194" + } ; + +mkN195 : Str -> N ; +mkN195 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN196 : Str -> N ; +mkN196 base = + case base of { + base_1+"ька" => lin N + { s = table { + Nom => table { + Sg => base_1+"ька" ; + Pl => base_1+"ькі" + } ; + Acc => table { + Sg => base_1+"ьку" ; + Pl => base_1+"ек" + } ; + Dat => table { + Sg => base_1+"ьцы" ; + Pl => base_1+"ькам" + } ; + Gen => table { + Sg => base_1+"ькі" ; + Pl => base_1+"ек" + } ; + Loc => table { + Sg => base_1+"ьцы" ; + Pl => base_1+"ьках" + } ; + Instr => table { + Sg => base_1+"ькай" ; + Pl => base_1+"ькамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN196" + } ; + +mkN197 : Str -> N ; +mkN197 base = + case base of { + base_1+"ька" => lin N + { s = table { + Nom => table { + Sg => base_1+"ька" ; + Pl => base_1+"ькі" + } ; + Acc => table { + Sg => base_1+"ьку" ; + Pl => base_1+"ькі" + } ; + Dat => table { + Sg => base_1+"ьцы" ; + Pl => base_1+"ькам" + } ; + Gen => table { + Sg => base_1+"ькі" ; + Pl => base_1+"ек" + } ; + Loc => table { + Sg => base_1+"ьцы" ; + Pl => base_1+"ьках" + } ; + Instr => table { + Sg => base_1+"ькай" ; + Pl => base_1+"ькамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN197" + } ; + +mkN198 : Str -> N ; +mkN198 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"том" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN198" + } ; + +mkN199 : Str -> N ; +mkN199 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"оў" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN199" + } ; + +mkN200 : Str -> N ; +mkN200 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"гу" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN200" + } ; + +mkN201 : Str -> N ; +mkN201 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN201" + } ; + +mkN202 : Str -> N ; +mkN202 base = + case base of { + base_1+"е"+base_2@?+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"та" ; + Pl => base_1+"я"+base_2+"ты" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"та" ; + Pl => base_1+"я"+base_2+"ты" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ту" ; + Pl => base_1+"я"+base_2+"там" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"та" ; + Pl => base_1+"е"+base_2+"т" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"це" ; + Pl => base_1+"я"+base_2+"тах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"там" ; + Pl => base_1+"я"+base_2+"тамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN202" + } ; + +mkN203 : Str -> N ; +mkN203 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN203" + } ; + +mkN204 : Str -> N ; +mkN204 base = + case base of { + base_1+"о"+base_2@(?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN204" + } ; + +mkN205 : Str -> N ; +mkN205 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ту" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN205" + } ; + +mkN206 : Str -> N ; +mkN206 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN206" + } ; + +mkN207 : Str -> N ; +mkN207 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ём" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN207" + } ; + +mkN208 : Str -> N ; +mkN208 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN208" + } ; + +mkN209 : Str -> N ; +mkN209 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN209" + } ; + +mkN210 : Str -> N ; +mkN210 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"ія" + } ; + Acc => table { + Sg => base_1+"ага" ; + Pl => base_1+"іх" + } ; + Dat => table { + Sg => base_1+"аму" ; + Pl => base_1+"ім" + } ; + Gen => table { + Sg => base_1+"ага" ; + Pl => base_1+"іх" + } ; + Loc => table { + Sg => base_1+"ім" ; + Pl => base_1+"іх" + } ; + Instr => table { + Sg => base_1+"ім" ; + Pl => base_1+"імі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN210" + } ; + +mkN211 : Str -> N ; +mkN211 base = + case base of { + base_1+"ага" => lin N + { s = table { + Nom => table { + Sg => base_1+"ага" ; + Pl => base_1+"огі" + } ; + Acc => table { + Sg => base_1+"агу" ; + Pl => base_1+"огі" + } ; + Dat => table { + Sg => base_1+"азе" ; + Pl => base_1+"агам" + } ; + Gen => table { + Sg => base_1+"агі" ; + Pl => base_1+"ог" + } ; + Loc => table { + Sg => base_1+"азе" ; + Pl => base_1+"агах" + } ; + Instr => table { + Sg => base_1+"агой" ; + Pl => base_1+"агамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN211" + } ; + +mkN212 : Str -> N ; +mkN212 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"лю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN212" + } ; + +mkN213 : Str -> N ; +mkN213 base = + case base of { + base_1+"я"+base_2@?+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+base_3+"а" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+base_3+"у" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+base_3+"е" ; + Pl => base_1+"ё"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+base_3+"ы" ; + Pl => base_1+"ё"+base_2+"е"+base_3 + } ; + Loc => table { + Sg => base_1+"я"+base_2+base_3+"е" ; + Pl => base_1+"ё"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+base_3+"ой" ; + Pl => base_1+"ё"+base_2+base_3+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN213" + } ; + +mkN214 : Str -> N ; +mkN214 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ы" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN215 : Str -> N ; +mkN215 base = + case base of { + base_1@?+"а"+base_2+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN215" + } ; + +mkN216 : Str -> N ; +mkN216 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"а"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN216" + } ; + +mkN217 : Str -> N ; +mkN217 base = + case base of { + base_1+"ўка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ўка" ; + Pl => base_1+"ўкі" + } ; + Acc => table { + Sg => base_1+"ўку" ; + Pl => base_1+"ўкі" + } ; + Dat => table { + Sg => base_1+"ўцы" ; + Pl => base_1+"ўкам" + } ; + Gen => table { + Sg => base_1+"ўкі" ; + Pl => base_1+"вак" + } ; + Loc => table { + Sg => base_1+"ўцы" ; + Pl => base_1+"ўках" + } ; + Instr => table { + Sg => base_1+"ўкай" ; + Pl => base_1+"ўкамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN217" + } ; + +mkN218 : Str -> N ; +mkN218 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"це" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ты" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"той" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN218" + } ; + +mkN219 : Str -> N ; +mkN219 base = + case base of { + base_1+"ец" => lin N + { s = table { + Nom => table { + Sg => base_1+"ец" ; + Pl => base_1+"цы" + } ; + Acc => table { + Sg => base_1+"ца" ; + Pl => base_1+"цаў" + } ; + Dat => table { + Sg => base_1+"цу" ; + Pl => base_1+"цам" + } ; + Gen => table { + Sg => base_1+"ца" ; + Pl => base_1+"цаў" + } ; + Loc => table { + Sg => base_1+"цу" ; + Pl => base_1+"цах" + } ; + Instr => table { + Sg => base_1+"цам" ; + Pl => base_1+"цамі" + } + } ; + voc = base_1+"ча" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN219" + } ; + +mkN220 : Str -> N ; +mkN220 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"эй" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"чу" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN220" + } ; + +mkN221 : Str -> N ; +mkN221 base = + case base of { + base_1+"ыха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ыха" ; + Pl => base_1+"охі" + } ; + Acc => table { + Sg => base_1+"ыху" ; + Pl => base_1+"ох" + } ; + Dat => table { + Sg => base_1+"ысе" ; + Pl => base_1+"охам" + } ; + Gen => table { + Sg => base_1+"ыхі" ; + Pl => base_1+"ох" + } ; + Loc => table { + Sg => base_1+"ысе" ; + Pl => base_1+"охах" + } ; + Instr => table { + Sg => base_1+"ыхой" ; + Pl => base_1+"охамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN221" + } ; + +mkN222 : Str -> N ; +mkN222 base = + case base of { + "а"+base_1+"о" => lin N + { s = table { + Nom => table { + Sg => "а"+base_1+"о" ; + Pl => "во"+base_1+"ы" + } ; + Acc => table { + Sg => "а"+base_1+"о" ; + Pl => "во"+base_1+"ы" + } ; + Dat => table { + Sg => "а"+base_1+"у" ; + Pl => "во"+base_1+"ам" + } ; + Gen => table { + Sg => "а"+base_1+"а" ; + Pl => "во"+base_1+"аў" + } ; + Loc => table { + Sg => "а"+base_1+"е" ; + Pl => "во"+base_1+"ах" + } ; + Instr => table { + Sg => "а"+base_1+"ом" ; + Pl => "во"+base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN222" + } ; + +mkN223 : Str -> N ; +mkN223 base = + case base of { + "во"+base_1+"е"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => "во"+base_1+"е"+base_2+"а" ; + Pl => "а"+base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => "во"+base_1+"е"+base_2+"а" ; + Pl => "а"+base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => "во"+base_1+"е"+base_2+"у" ; + Pl => "а"+base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => "во"+base_1+"е"+base_2+"а" ; + Pl => "а"+base_1+"ё"+base_2 + } ; + Loc => table { + Sg => "во"+base_1+"е"+base_2+"ы" ; + Pl => "а"+base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => "во"+base_1+"е"+base_2+"ам" ; + Pl => "а"+base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN223" + } ; + +mkN224 : Str -> N ; +mkN224 base = + case base of { + base_1+"я"+base_2@?+base_3@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+base_3+"о" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+base_3+"о" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+base_3+"у" ; + Pl => base_1+"ё"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+base_3+"а" ; + Pl => base_1+"ё"+base_2+"зе"+base_3 + } ; + Loc => table { + Sg => base_1+"я"+base_2+base_3+"ы" ; + Pl => base_1+"ё"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+base_3+"ом" ; + Pl => base_1+"ё"+base_2+base_3+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN224" + } ; + +mkN225 : Str -> N ; +mkN225 base = + case base of { + base_1+"і"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"я" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"і"+base_2+"яці" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"і"+base_2+"яці" ; + Pl => base_1+"я"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"і"+base_2+"яці" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ьмі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN225" + } ; + +mkN226 : Str -> N ; +mkN226 base = + case base of { + base_1+"я"+base_2@?+"'я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"'я" ; + Pl => base_1+"е"+base_2+"'і" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"'ю" ; + Pl => base_1+"е"+base_2+"'і" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"'і" ; + Pl => base_1+"е"+base_2+"'ям" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"'і" ; + Pl => base_1+"я"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"'і" ; + Pl => base_1+"е"+base_2+"'ях" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"'ёй" ; + Pl => base_1+"е"+base_2+"'ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN226" + } ; + +mkN227 : Str -> N ; +mkN227 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => nonExist + } ; + Acc => table { + Sg => base ; + Pl => nonExist + } ; + Dat => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Gen => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Loc => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base+"'ю" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + +mkN228 : Str -> N ; +mkN228 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"шы" + } ; + Acc => table { + Sg => base_1+"ха" ; + Pl => base_1+"шы" + } ; + Dat => table { + Sg => base_1+"ху" ; + Pl => base_1+"шам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"шэй" + } ; + Loc => table { + Sg => base_1+"ху" ; + Pl => base_1+"шах" + } ; + Instr => table { + Sg => base_1+"хам" ; + Pl => base_1+"шамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN228" + } ; + +mkN229 : Str -> N ; +mkN229 base = + case base of { + base_1+"оў" => lin N + { s = table { + Nom => table { + Sg => base_1+"оў" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"оў" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ві" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ві" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ві" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"оўю" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN229" + } ; + +mkN230 : Str -> N ; +mkN230 base = + case base of { + base_1+"ё" => lin N + { s = table { + Nom => table { + Sg => base_1+"ё" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ё" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN230" + } ; + +mkN231 : Str -> N ; +mkN231 base = + case base of { + base_1+"я"+base_2@(?+?)+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"зе" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN231" + } ; + +mkN232 : Str -> N ; +mkN232 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN232" + } ; + +mkN233 : Str -> N ; +mkN233 base = + case base of { + "во"+base_1+"ў" => lin N + { s = table { + Nom => table { + Sg => "во"+base_1+"ў" ; + Pl => "а"+base_1+"вы" + } ; + Acc => table { + Sg => "во"+base_1+"ў" ; + Pl => "а"+base_1+"вы" + } ; + Dat => table { + Sg => "во"+base_1+"ву" ; + Pl => "а"+base_1+"вам" + } ; + Gen => table { + Sg => "во"+base_1+"ва" ; + Pl => "а"+base_1+"воў" + } ; + Loc => table { + Sg => "во"+base_1+"ве" ; + Pl => "а"+base_1+"вах" + } ; + Instr => table { + Sg => "во"+base_1+"вам" ; + Pl => "а"+base_1+"вамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN233" + } ; + +mkN234 : Str -> N ; +mkN234 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base + } ; + Acc => table { + Sg => base ; + Pl => base + } ; + Dat => table { + Sg => base ; + Pl => base + } ; + Gen => table { + Sg => base ; + Pl => base + } ; + Loc => table { + Sg => base ; + Pl => base + } ; + Instr => table { + Sg => base ; + Pl => base + } + } ; + voc = base ; + g = Fem + }; + +mkN235 : Str -> N ; +mkN235 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"й"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"аў" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ам" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN235" + } ; + +mkN236 : Str -> N ; +mkN236 base = + case base of { + base_1+"е"+base_2@?+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"эй" ; + Pl => base_1+"я"+base_2+"эй" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN236" + } ; + +mkN237 : Str -> N ; +mkN237 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN237" + } ; + +mkN238 : Str -> N ; +mkN238 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN238" + } ; + +mkN239 : Str -> N ; +mkN239 base = + case base of { + base_1+"ін" => lin N + { s = table { + Nom => table { + Sg => base_1+"ін" ; + Pl => base_1+"е" + } ; + Acc => table { + Sg => base_1+"іна" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"іну" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"іна" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"іне" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"інам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN239" + } ; + +mkN240 : Str -> N ; +mkN240 base = + case base of { + base_1+"ва"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ва"+base_2 ; + Pl => base_1+"ў"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ва"+base_2 ; + Pl => base_1+"ў"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ам" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN240" + } ; + +mkN241 : Str -> N ; +mkN241 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"яў" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN241" + } ; + +mkN242 : Str -> N ; +mkN242 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"оў" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN242" + } ; + +mkN243 : Str -> N ; +mkN243 base = + case base of { + base_1+"я"+base_2@("ляш"|"люш"|(?+?+?+?)) => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN243" + } ; + +mkN244 : Str -> N ; +mkN244 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ьмі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN244" + } ; + +mkN245 : Str -> N ; +mkN245 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN245" + } ; + +mkN246 : Str -> N ; +mkN246 base = + case base of { + base_1@?+"я"+base_2+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN246" + } ; + +mkN247 : Str -> N ; +mkN247 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ём" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN247" + } ; + +mkN248 : Str -> N ; +mkN248 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN248" + } ; + +mkN249 : Str -> N ; +mkN249 base = + case base of { + base_1+"а"+base_2@?+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ка" ; + Pl => base_1+"о"+base_2+"кі" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ку" ; + Pl => base_1+"а"+base_2+"ок" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"цэ" ; + Pl => base_1+"о"+base_2+"кам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"кі" ; + Pl => base_1+"а"+base_2+"ок" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"цэ" ; + Pl => base_1+"о"+base_2+"ках" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"кой" ; + Pl => base_1+"о"+base_2+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN249" + } ; + +mkN250 : Str -> N ; +mkN250 base = + case base of { + base_1+"йцец" => lin N + { s = table { + Nom => table { + Sg => base_1+"йцец" ; + Pl => base_1+"йцы" + } ; + Acc => table { + Sg => base_1+"йца" ; + Pl => base_1+"йцоў" + } ; + Dat => table { + Sg => base_1+"йцу" ; + Pl => base_1+"йцам" + } ; + Gen => table { + Sg => base_1+"йца" ; + Pl => base_1+"йцоў" + } ; + Loc => table { + Sg => base_1+"йцу" ; + Pl => base_1+"йцах" + } ; + Instr => table { + Sg => base_1+"йцом" ; + Pl => base_1+"йцамі" + } + } ; + voc = "войч"+base_1 ; + g = Masc + }; + _ => error "Can't apply paradigm mkN250" + } ; + +mkN251 : Str -> N ; +mkN251 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN251" + } ; + +mkN252 : Str -> N ; +mkN252 base = + case base of { + base_1+"ў" => lin N + { s = table { + Nom => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ву" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ву" ; + Pl => base_1+"ваў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вам" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN252" + } ; + +mkN253 : Str -> N ; +mkN253 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"зе" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ам" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base_1+"е"+base_2+"у" ; + g = Masc + }; + _ => error "Can't apply paradigm mkN253" + } ; + +mkN254 : Str -> N ; +mkN254 base = + case base of { + base_1+"я"+base_2@?+base_3@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+base_3+"о" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+base_3+"о" ; + Pl => base_1+"ё"+base_2+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+base_3+"у" ; + Pl => base_1+"ё"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+base_3+"а" ; + Pl => base_1+"ё"+base_2+"е"+base_3 + } ; + Loc => table { + Sg => base_1+"я"+base_2+base_3+"е" ; + Pl => base_1+"ё"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+base_3+"ом" ; + Pl => base_1+"ё"+base_2+base_3+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN254" + } ; + +mkN255 : Str -> N ; +mkN255 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN255" + } ; + +mkN256 : Str -> N ; +mkN256 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN256" + } ; + +mkN257 : Str -> N ; +mkN257 base = + case base of { + base_1+"я"+base_2@(?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"ё"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN257" + } ; + +mkN258 : Str -> N ; +mkN258 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN258" + } ; + +mkN259 : Str -> N ; +mkN259 base = + case base of { + base_1+"от" => lin N + { s = table { + Nom => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Acc => table { + Sg => base_1+"от" ; + Pl => base_1+"аты" + } ; + Dat => table { + Sg => base_1+"ату" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"ата" ; + Pl => base_1+"атоў" + } ; + Loc => table { + Sg => base_1+"аце" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"атом" ; + Pl => base_1+"атамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN259" + } ; + +mkN260 : Str -> N ; +mkN260 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN260" + } ; + +mkN261 : Str -> N ; +mkN261 base = + case base of { + base_1+"ыца" => lin N + { s = table { + Nom => table { + Sg => base_1+"ыца" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"ыцу" ; + Pl => base_1+"эй" + } ; + Dat => table { + Sg => base_1+"ыцы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ыцы" ; + Pl => base_1+"эй" + } ; + Loc => table { + Sg => base_1+"ыцы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ыцай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN261" + } ; + +mkN262 : Str -> N ; +mkN262 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN262" + } ; + +mkN263 : Str -> N ; +mkN263 base = + case base of { + base_1+"яя" => lin N + { s = table { + Nom => table { + Sg => base_1+"яя" ; + Pl => base_1+"еі" + } ; + Acc => table { + Sg => base_1+"яю" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"яі" ; + Pl => base_1+"еям" + } ; + Gen => table { + Sg => base_1+"яі" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"яі" ; + Pl => base_1+"еях" + } ; + Instr => table { + Sg => base_1+"яёй" ; + Pl => base_1+"еямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN263" + } ; + +mkN264 : Str -> N ; +mkN264 base = + case base of { + base_1+"еў" => lin N + { s = table { + Nom => table { + Sg => base_1+"еў" ; + Pl => "і"+base_1+"ьвы" + } ; + Acc => table { + Sg => "і"+base_1+"ьва" ; + Pl => "і"+base_1+"ьвоў" + } ; + Dat => table { + Sg => "і"+base_1+"ьву" ; + Pl => "і"+base_1+"ьвам" + } ; + Gen => table { + Sg => "і"+base_1+"ьва" ; + Pl => "і"+base_1+"ьвоў" + } ; + Loc => table { + Sg => "і"+base_1+"ьве" ; + Pl => "і"+base_1+"ьвах" + } ; + Instr => table { + Sg => "і"+base_1+"ьвом" ; + Pl => "і"+base_1+"ьвамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN264" + } ; + +mkN265 : Str -> N ; +mkN265 base = + case base of { + base_1+"зе"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"зе"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN265" + } ; + +mkN266 : Str -> N ; +mkN266 base = + case base of { + base_1+"а"+base_2@(?+?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"э"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"э"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"э"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"э"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN266" + } ; + +mkN267 : Str -> N ; +mkN267 base = + case base of { + base_1+"о"+base_2@(?+?+?)+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"эй" ; + Pl => base_1+"а"+base_2+"эй" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN267" + } ; + +mkN268 : Str -> N ; +mkN268 base = + case base of { + "во"+base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => "во"+base_1+"ь" ; + Pl => "во"+base_1+"і" + } ; + Acc => table { + Sg => "во"+base_1+"ь" ; + Pl => "во"+base_1+"і" + } ; + Dat => table { + Sg => "во"+base_1+"і" ; + Pl => "а"+base_1+"ям" + } ; + Gen => table { + Sg => "во"+base_1+"і" ; + Pl => "а"+base_1+"ей" + } ; + Loc => table { + Sg => "во"+base_1+"і" ; + Pl => "а"+base_1+"ях" + } ; + Instr => table { + Sg => "во"+base_1+"ю" ; + Pl => "а"+base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN268" + } ; + +mkN269 : Str -> N ; +mkN269 base = + case base of { + base_1+"зе"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"зе"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN269" + } ; + +mkN270 : Str -> N ; +mkN270 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => base_1+"т" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ты" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN270" + } ; + +mkN271 : Str -> N ; +mkN271 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN271" + } ; + +mkN272 : Str -> N ; +mkN272 base = + case base of { + base_1+"вы" => lin N + { s = table { + Nom => table { + Sg => base_1+"вы" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ў" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN272" + } ; + +mkN273 : Str -> N ; +mkN273 base = + case base of { + base_1+"й"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"й"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ом" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN273" + } ; + +mkN274 : Str -> N ; +mkN274 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN274" + } ; + +mkN275 : Str -> N ; +mkN275 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"оў" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"оў" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN275" + } ; + +mkN276 : Str -> N ; +mkN276 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN276" + } ; + +mkN277 : Str -> N ; +mkN277 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN277" + } ; + +mkN278 : Str -> N ; +mkN278 base = + case base of { + base_1+"я"+base_2@("л"|"ств"|(?+?))+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN278" + } ; + +mkN279 : Str -> N ; +mkN279 base = + case base of { + base_1+"ў"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ве"+base_2 + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"е" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"ы" ; + Pl => base_1+"ве"+base_2 + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"е" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ай" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN279" + } ; + +mkN280 : Str -> N ; +mkN280 base = + case base of { + base_1+"ей" => lin N + { s = table { + Nom => table { + Sg => base_1+"ей" ; + Pl => base_1+"лі" + } ; + Acc => table { + Sg => base_1+"ей" ; + Pl => base_1+"лі" + } ; + Dat => table { + Sg => base_1+"ею" ; + Pl => base_1+"лям" + } ; + Gen => table { + Sg => base_1+"ея" ; + Pl => base_1+"лёў" + } ; + Loc => table { + Sg => base_1+"еі" ; + Pl => base_1+"лях" + } ; + Instr => table { + Sg => base_1+"еем" ; + Pl => base_1+"лямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN280" + } ; + +mkN281 : Str -> N ; +mkN281 base = + case base of { + base_1+"ей" => lin N + { s = table { + Nom => table { + Sg => base_1+"ей" ; + Pl => base_1+"'і" + } ; + Acc => table { + Sg => base_1+"'я" ; + Pl => base_1+"'ёў" + } ; + Dat => table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ям" + } ; + Gen => table { + Sg => base_1+"'я" ; + Pl => base_1+"'ёў" + } ; + Loc => table { + Sg => base_1+"'і" ; + Pl => base_1+"'ях" + } ; + Instr => table { + Sg => base_1+"'ём" ; + Pl => base_1+"'ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN281" + } ; + +mkN282 : Str -> N ; +mkN282 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN282" + } ; + +mkN283 : Str -> N ; +mkN283 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN283" + } ; + +mkN284 : Str -> N ; +mkN284 base = + case base of { + base_1+"я"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN284" + } ; + +mkN285 : Str -> N ; +mkN285 base = + case base of { + base_1+"ын" => lin N + { s = table { + Nom => table { + Sg => base_1+"ын" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"ына" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ыну" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ына" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ыне" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ынам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN285" + } ; + +mkN286 : Str -> N ; +mkN286 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN286" + } ; + +mkN287 : Str -> N ; +mkN287 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base + } ; + Loc => table { + Sg => base+"е" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN288 : Str -> N ; +mkN288 base = + case base of { + base_1+"е"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN288" + } ; + +mkN289 : Str -> N ; +mkN289 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"г" + } ; + Dat => table { + Sg => base_1+"зе" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"гі" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гай" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN289" + } ; + +mkN290 : Str -> N ; +mkN290 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ей" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN290" + } ; + +mkN291 : Str -> N ; +mkN291 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ага" ; + Pl => base_1+"ых" + } ; + Dat => table { + Sg => base_1+"аму" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ага" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ым" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ым" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN291" + } ; + +mkN292 : Str -> N ; +mkN292 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" --guessed + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" --guessed + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" --guessed + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 --guessed + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" --guessed + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" --guessed + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN292" + } ; + +mkN293 : Str -> N ; +mkN293 base = + case base of { + base_1+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"д"+base_2+"ю" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN293" + } ; + +mkN294 : Str -> N ; +mkN294 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN294" + } ; + +mkN295 : Str -> N ; +mkN295 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN295" + } ; + +mkN296 : Str -> N ; +mkN296 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN296" + } ; + +mkN297 : Str -> N ; +mkN297 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN297" + } ; + +mkN298 : Str -> N ; +mkN298 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN298" + } ; + +mkN299 : Str -> N ; +mkN299 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN299" + } ; + +mkN300 : Str -> N ; +mkN300 base = + case base of { + base_1+"ве"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"аў" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ам" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN300" + } ; + +mkN301 : Str -> N ; +mkN301 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN301" + } ; + +mkN302 : Str -> N ; +mkN302 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN302" + } ; + +mkN303 : Str -> N ; +mkN303 base = + case base of { + "а"+base_1+"а" => lin N + { s = table { + Nom => table { + Sg => "а"+base_1+"а" ; + Pl => "во"+base_1+"ы" + } ; + Acc => table { + Sg => "а"+base_1+"у" ; + Pl => "во"+base_1 + } ; + Dat => table { + Sg => "а"+base_1+"е" ; + Pl => "во"+base_1+"ам" + } ; + Gen => table { + Sg => "а"+base_1+"ы" ; + Pl => "во"+base_1 + } ; + Loc => table { + Sg => "а"+base_1+"е" ; + Pl => "во"+base_1+"ах" + } ; + Instr => table { + Sg => "а"+base_1+"ой" ; + Pl => "во"+base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN303" + } ; + +mkN304 : Str -> N ; +mkN304 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хі" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"хі" + } ; + Dat => table { + Sg => base_1+"се" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хі" ; + Pl => base_1+"хаў" + } ; + Loc => table { + Sg => base_1+"се" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хай" ; + Pl => base_1+"хамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN304" + } ; + +mkN305 : Str -> N ; +mkN305 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN305" + } ; + +mkN306 : Str -> N ; +mkN306 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"эй" + } ; + Dat => table { + Sg => base+"ы" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"ы" ; + Pl => base+"эй" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"шу" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Fem + }; + +mkN307 : Str -> N ; +mkN307 base = + case base of { + base_1+"вей" => lin N + { s = table { + Nom => table { + Sg => base_1+"вей" ; + Pl => base_1+"ўі" + } ; + Acc => table { + Sg => base_1+"ўя" ; + Pl => base_1+"ўёў" + } ; + Dat => table { + Sg => base_1+"ўю" ; + Pl => base_1+"ўям" + } ; + Gen => table { + Sg => base_1+"ўя" ; + Pl => base_1+"ўёў" + } ; + Loc => table { + Sg => base_1+"ўі" ; + Pl => base_1+"ўях" + } ; + Instr => table { + Sg => base_1+"ўём" ; + Pl => base_1+"ўямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN307" + } ; + +mkN308 : Str -> N ; +mkN308 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"аў" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ам" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN308" + } ; + +mkN309 : Str -> N ; +mkN309 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хі" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"хі" + } ; + Dat => table { + Sg => base_1+"се" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хі" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"се" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хай" ; + Pl => base_1+"хамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN309" + } ; + +mkN310 : Str -> N ; +mkN310 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN310" + } ; + +mkN311 : Str -> N ; +mkN311 base = + case base of { + base_1+"о"+base_2@(?+?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN311" + } ; + +mkN312 : Str -> N ; +mkN312 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN312" + } ; + +mkN313 : Str -> N ; +mkN313 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base ; + Pl => base+"ай" + } ; + Dat => table { + Sg => base+"ы" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"ы" ; + Pl => base+"ай" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"шу" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Fem + }; + +mkN314 : Str -> N ; +mkN314 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN314" + } ; + +mkN315 : Str -> N ; +mkN315 base = + case base of { + base_1+"а"+base_2@?+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+base_3+"а" ; + Pl => base_1+"о"+base_2+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+base_3+"у" ; + Pl => base_1+"о"+base_2+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+base_3+"е" ; + Pl => base_1+"о"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+base_3+"ы" ; + Pl => base_1+"а"+base_2+"ё"+base_3 + } ; + Loc => table { + Sg => base_1+"а"+base_2+base_3+"е" ; + Pl => base_1+"о"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+base_3+"ой" ; + Pl => base_1+"о"+base_2+base_3+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN315" + } ; + +mkN316 : Str -> N ; +mkN316 base = + case base of { + base_1@("ч"|(?+?+?))+"а"+base_2+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN316" + } ; + +mkN317 : Str -> N ; +mkN317 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN317" + } ; + +mkN318 : Str -> N ; +mkN318 base = + case base of { + base_1+"а"+base_2@?+"а"+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а"+base_3+"а" ; + Pl => base_1+"о"+base_2+"а"+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"а"+base_3+"у" ; + Pl => base_1+"о"+base_2+"а"+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"а"+base_3+"е" ; + Pl => base_1+"а"+base_2+"а"+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а"+base_3+"ы" ; + Pl => base_1+"а"+base_2+"о"+base_3 + } ; + Loc => table { + Sg => base_1+"а"+base_2+"а"+base_3+"е" ; + Pl => base_1+"а"+base_2+"а"+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"а"+base_3+"ой" ; + Pl => base_1+"а"+base_2+"а"+base_3+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN318" + } ; + +mkN319 : Str -> N ; +mkN319 base = + case base of { + base_1+"а"+base_2@(?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN319" + } ; + +mkN320 : Str -> N ; +mkN320 base = + case base of { + base_1+"я"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"эй" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN320" + } ; + +mkN321 : Str -> N ; +mkN321 base = + case base of { + base_1+"ы"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы"+base_2+"о" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ы"+base_2+"о" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ы"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ы"+base_2+"а" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ы"+base_2+"е" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ы"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN321" + } ; + +mkN322 : Str -> N ; +mkN322 base = + case base of { + base_1+base_2@?+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+"а"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN322" + } ; + +mkN323 : Str -> N ; +mkN323 base = + case base of { + base_1@?+"о"+base_2+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN323" + } ; + +mkN324 : Str -> N ; +mkN324 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"аў" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN324" + } ; + +mkN325 : Str -> N ; +mkN325 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"цю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN325" + } ; + +mkN326 : Str -> N ; +mkN326 base = + case base of { + base_1+"ове"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ове"+base_2 ; + Pl => base_1+"аў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ове"+base_2 ; + Pl => base_1+"аў"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"оў"+base_2+"у" ; + Pl => base_1+"аў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"оў"+base_2+"а" ; + Pl => base_1+"аў"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"оў"+base_2+"е" ; + Pl => base_1+"аў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"оў"+base_2+"ам" ; + Pl => base_1+"аў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN326" + } ; + +mkN327 : Str -> N ; +mkN327 base = + case base of { + base_1+"о"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN327" + } ; + +mkN328 : Str -> N ; +mkN328 base = + case base of { + base_1+"я"+base_2@("вак"|(?+?+?+?)) => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN328" + } ; + +mkN329 : Str -> N ; +mkN329 base = + case base of { + base_1+"е"+base_2@?+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ей" ; + Pl => base_1+"я"+base_2+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN329" + } ; + +mkN330 : Str -> N ; +mkN330 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN330" + } ; + +mkN331 : Str -> N ; +mkN331 base = + case base of { + base_1+"д"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"д"+base_2+"я" ; + Pl => base_1+"д"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"д"+base_2+"ю" ; + Pl => base_1+"д"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"д"+base_2+"і" ; + Pl => base_1+"д"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"д"+base_2+"і" ; + Pl => base_1+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"д"+base_2+"і" ; + Pl => base_1+"д"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"д"+base_2+"ёй" ; + Pl => base_1+"д"+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN331" + } ; + +mkN332 : Str -> N ; +mkN332 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ёй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN332" + } ; + +mkN333 : Str -> N ; +mkN333 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN334 : Str -> N ; +mkN334 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"аў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN335 : Str -> N ; +mkN335 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN335" + } ; + +mkN336 : Str -> N ; +mkN336 base = + case base of { + base_1+"а"+base_2@(?+?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ой" ; + Pl => base_1+"о"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN336" + } ; + +mkN337 : Str -> N ; +mkN337 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гаў" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN337" + } ; + +mkN338 : Str -> N ; +mkN338 base = + case base of { + base_1+"эш"+base_2@?+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"эш"+base_2+"та" ; + Pl => base_1+base_2+"шоты" + } ; + Acc => table { + Sg => base_1+"эш"+base_2+"та" ; + Pl => base_1+base_2+"шоты" + } ; + Dat => table { + Sg => base_1+"эш"+base_2+"ту" ; + Pl => base_1+base_2+"шотам" + } ; + Gen => table { + Sg => base_1+"эш"+base_2+"та" ; + Pl => base_1+base_2+"шот" + } ; + Loc => table { + Sg => base_1+"эш"+base_2+"це" ; + Pl => base_1+base_2+"шотах" + } ; + Instr => table { + Sg => base_1+"эш"+base_2+"там" ; + Pl => base_1+base_2+"шотамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN338" + } ; + +mkN339 : Str -> N ; +mkN339 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"гі" + } ; + Acc => table { + Sg => base_1+"га" ; + Pl => base_1+"гаў" + } ; + Dat => table { + Sg => base_1+"гу" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гаў" + } ; + Loc => table { + Sg => base_1+"зе" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гам" ; + Pl => base_1+"гамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN339" + } ; + +mkN340 : Str -> N ; +mkN340 base = + case base of { + base_1+"я"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"о" ; + Pl => base_1+"ё"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"ё"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"ё"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"ё"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"ё"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN340" + } ; + +mkN341 : Str -> N ; +mkN341 base = + case base of { + base_1+"я"+base_2@(?+?)+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN341" + } ; + +mkN342 : Str -> N ; +mkN342 base = + case base of { + base_1+"э"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"э"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"э"+base_2 ; + Pl => base_1+"а"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"э"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"э"+base_2+"у" ; + Pl => base_1+"а"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"э"+base_2+"у" ; + Pl => base_1+"а"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"э"+base_2+"ам" ; + Pl => base_1+"а"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN342" + } ; + +mkN343 : Str -> N ; +mkN343 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN343" + } ; + +mkN344 : Str -> N ; +mkN344 base = + case base of { + base_1+"а"+base_2@(?+?)+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"э"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"э"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"э"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"э"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN344" + } ; + +mkN345 : Str -> N ; +mkN345 base = + case base of { + base_1+"ака" => lin N + { s = table { + Nom => table { + Sg => base_1+"ака" ; + Pl => base_1+"окі" + } ; + Acc => table { + Sg => base_1+"аку" ; + Pl => base_1+"окі" + } ; + Dat => table { + Sg => base_1+"ацэ" ; + Pl => base_1+"окам" + } ; + Gen => table { + Sg => base_1+"акі" ; + Pl => base_1+"ок" + } ; + Loc => table { + Sg => base_1+"ацэ" ; + Pl => base_1+"оках" + } ; + Instr => table { + Sg => base_1+"акой" ; + Pl => base_1+"окамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN345" + } ; + +mkN346 : Str -> N ; +mkN346 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"ы" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN347 : Str -> N ; +mkN347 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN347" + } ; + +mkN348 : Str -> N ; +mkN348 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"к" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN348" + } ; + +mkN349 : Str -> N ; +mkN349 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN349" + } ; + +mkN350 : Str -> N ; +mkN350 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN350" + } ; + +mkN351 : Str -> N ; +mkN351 base = + case base of { + base_1+"ў" => lin N + { s = table { + Nom => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ву" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ва" ; + Pl => base_1+"ваў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вам" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN351" + } ; + +mkN352 : Str -> N ; +mkN352 base = + case base of { + base_1+"во"+base_2@(?+?+?+?)+"ў" => lin N + { s = table { + Nom => table { + Sg => base_1+"во"+base_2+"ў" ; + Pl => base_1+"а"+base_2+"вы" + } ; + Acc => table { + Sg => base_1+"во"+base_2+"ў" ; + Pl => base_1+"а"+base_2+"вы" + } ; + Dat => table { + Sg => base_1+"во"+base_2+"ву" ; + Pl => base_1+"а"+base_2+"вам" + } ; + Gen => table { + Sg => base_1+"во"+base_2+"ва" ; + Pl => base_1+"а"+base_2+"воў" + } ; + Loc => table { + Sg => base_1+"во"+base_2+"ве" ; + Pl => base_1+"а"+base_2+"вах" + } ; + Instr => table { + Sg => base_1+"во"+base_2+"вам" ; + Pl => base_1+"а"+base_2+"вамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN352" + } ; + +mkN353 : Str -> N ; +mkN353 base = + case base of { + base_1+"оў" => lin N + { s = table { + Nom => table { + Sg => base_1+"оў" ; + Pl => base_1+"авы" + } ; + Acc => table { + Sg => base_1+"оў" ; + Pl => base_1+"авы" + } ; + Dat => table { + Sg => base_1+"ову" ; + Pl => base_1+"авам" + } ; + Gen => table { + Sg => base_1+"ова" ; + Pl => base_1+"авоў" + } ; + Loc => table { + Sg => base_1+"ове" ; + Pl => base_1+"авах" + } ; + Instr => table { + Sg => base_1+"овам" ; + Pl => base_1+"авамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN353" + } ; + +mkN354 : Str -> N ; +mkN354 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN354" + } ; + +mkN355 : Str -> N ; +mkN355 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN355" + } ; + +mkN356 : Str -> N ; +mkN356 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN356" + } ; + +mkN357 : Str -> N ; +mkN357 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN357" + } ; + +mkN358 : Str -> N ; +mkN358 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+"а"+base_2 + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"а"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN358" + } ; + +mkN359 : Str -> N ; +mkN359 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"ю" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN359" + } ; + +mkN360 : Str -> N ; +mkN360 base = + case base of { + base_1+"ят"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"ят"+base_2+"а" ; + Pl => base_1+"ёт"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ят"+base_2+"у" ; + Pl => base_1+"ёт"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ят"+base_2+"е" ; + Pl => base_1+"ёт"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ят"+base_2+"ы" ; + Pl => base_1+"ёце"+base_2 + } ; + Loc => table { + Sg => base_1+"ят"+base_2+"е" ; + Pl => base_1+"ёт"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ят"+base_2+"ой" ; + Pl => base_1+"ёт"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN360" + } ; + +mkN361 : Str -> N ; +mkN361 base = + case base of { + base_1+"ае" => lin N + { s = table { + Nom => table { + Sg => base_1+"ае" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ае" ; + Pl => base_1+"ых" + } ; + Dat => table { + Sg => base_1+"аму" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ага" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ым" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ым" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN361" + } ; + +mkN362 : Str -> N ; +mkN362 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => nonExist + } ; + Acc => table { + Sg => base ; + Pl => nonExist + } ; + Dat => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Gen => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Loc => table { + Sg => base+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base+"ай" ; + Pl => nonExist + } + } ; + voc = base ; + g = Fem + }; + +mkN363 : Str -> N ; +mkN363 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => base_1+"т" + } ; + Dat => table { + Sg => base_1+"це" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ты" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"тай" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN363" + } ; + +mkN364 : Str -> N ; +mkN364 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?)+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"т" ; + Pl => base_1+"ы"+base_2+"ты" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"та" ; + Pl => base_1+"аў"+base_2+"таў" + } ; + Dat => table { + Sg => base_1+"у"+base_2+"ту" ; + Pl => base_1+"ам"+base_2+"там" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"та" ; + Pl => base_1+"аў"+base_2+"таў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"це" ; + Pl => base_1+"ах"+base_2+"тах" + } ; + Instr => table { + Sg => base_1+"ам"+base_2+"там" ; + Pl => base_1+"амі"+base_2+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN364" + } ; + +mkN365 : Str -> N ; +mkN365 base = + case base of { + base_1+"я"+base_2@(?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ы" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN365" + } ; + +mkN366 : Str -> N ; +mkN366 base = + case base of { + base_1@(?+?+?+?+?+?)+"ь"+base_2 => lin N + { s = table { + Nom => table { + Sg => base_1+"ь"+base_2 ; + Pl => base_1+"і"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"яў"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"ю"+base_2+"у" ; + Pl => base_1+"ям"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"яў"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"і"+base_2+"е" ; + Pl => base_1+"ях"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ем"+base_2+"ом" ; + Pl => base_1+"ямі"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN366" + } ; + +mkN367 : Str -> N ; +mkN367 base = + case base of { + base_1+"це"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"це"+base_2 ; + Pl => base_1+"т"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"т"+base_2+"а" ; + Pl => base_1+"т"+base_2+"аў" + } ; + Dat => table { + Sg => base_1+"т"+base_2+"у" ; + Pl => base_1+"т"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"т"+base_2+"а" ; + Pl => base_1+"т"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"т"+base_2+"е" ; + Pl => base_1+"т"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"т"+base_2+"ам" ; + Pl => base_1+"т"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN367" + } ; + +mkN368 : Str -> N ; +mkN368 base = + case base of { + base_1+"вё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"вё"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"вё"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"е" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ом" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN368" + } ; + +mkN369 : Str -> N ; +mkN369 base = + case base of { + base_1+"о"+base_2@(?+?+?)+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"й" ; + Pl => base_1+"а"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"яў" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"а"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"а"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN369" + } ; + +mkN370 : Str -> N ; +mkN370 base = + case base of { + base_1+"е"+base_2@(?+?)+"я"+base_3@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"я"+base_3+"о" ; + Pl => base_1+"я"+base_2+"ё"+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"я"+base_3+"о" ; + Pl => base_1+"я"+base_2+"ё"+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"я"+base_3+"у" ; + Pl => base_1+"я"+base_2+"ё"+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я"+base_3+"а" ; + Pl => base_1+"я"+base_2+"ё"+base_3 + } ; + Loc => table { + Sg => base_1+"е"+base_2+"я"+base_3+"е" ; + Pl => base_1+"я"+base_2+"ё"+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"я"+base_3+"ом" ; + Pl => base_1+"я"+base_2+"ё"+base_3+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN370" + } ; + +mkN371 : Str -> N ; +mkN371 base = + case base of { + base_1+"це"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"це"+base_2+"ь" ; + Pl => base_1+"т"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"т"+base_2+"я" ; + Pl => base_1+"т"+base_2+"яў" + } ; + Dat => table { + Sg => base_1+"т"+base_2+"ю" ; + Pl => base_1+"т"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"т"+base_2+"я" ; + Pl => base_1+"т"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"т"+base_2+"і" ; + Pl => base_1+"т"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"т"+base_2+"ем" ; + Pl => base_1+"т"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN371" + } ; + +mkN372 : Str -> N ; +mkN372 base = + case base of { + base_1+"це"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"це"+base_2+"ь" ; + Pl => base_1+"т"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"т"+base_2+"я" ; + Pl => base_1+"т"+base_2+"яў" + } ; + Dat => table { + Sg => base_1+"т"+base_2+"ю" ; + Pl => base_1+"т"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"т"+base_2+"я" ; + Pl => base_1+"т"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"т"+base_2+"ю" ; + Pl => base_1+"т"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"т"+base_2+"ем" ; + Pl => base_1+"т"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN372" + } ; + +mkN373 : Str -> N ; +mkN373 base = + case base of { + base_1+"а"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"аў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ам" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN373" + } ; + +mkN374 : Str -> N ; +mkN374 base = + case base of { + base_1+"ата" => lin N + { s = table { + Nom => table { + Sg => base_1+"ата" ; + Pl => base_1+"оты" + } ; + Acc => table { + Sg => base_1+"ату" ; + Pl => base_1+"оты" + } ; + Dat => table { + Sg => base_1+"аце" ; + Pl => base_1+"отам" + } ; + Gen => table { + Sg => base_1+"аты" ; + Pl => base_1+"от" + } ; + Loc => table { + Sg => base_1+"аце" ; + Pl => base_1+"отах" + } ; + Instr => table { + Sg => base_1+"атой" ; + Pl => base_1+"отамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN374" + } ; + +mkN375 : Str -> N ; +mkN375 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"сю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN375" + } ; + +mkN376 : Str -> N ; +mkN376 base = + case base of { + base_1+"цё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"цё"+base_2 ; + Pl => base_1+"т"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"цё"+base_2 ; + Pl => base_1+"т"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"т"+base_2+"у" ; + Pl => base_1+"т"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"т"+base_2+"а" ; + Pl => base_1+"т"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"т"+base_2+"е" ; + Pl => base_1+"т"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"т"+base_2+"ом" ; + Pl => base_1+"т"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN376" + } ; + +mkN377 : Str -> N ; +mkN377 base = + case base of { + base_1+"ве"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2+"ь" ; + Pl => base_1+"ў"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ве"+base_2+"ь" ; + Pl => base_1+"ў"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"ю" ; + Pl => base_1+"ў"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"ю" ; + Pl => base_1+"ў"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"і" ; + Pl => base_1+"ў"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ем" ; + Pl => base_1+"ў"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN377" + } ; + +mkN378 : Str -> N ; +mkN378 base = + case base of { + base_1+"я"+base_2@(?+?)+"оў" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"оў" ; + Pl => base_1+"я"+base_2+"ові" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"оў" ; + Pl => base_1+"е"+base_2+"ывей" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ыві" ; + Pl => base_1+"е"+base_2+"ывям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"ыві" ; + Pl => base_1+"е"+base_2+"ывей" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ыві" ; + Pl => base_1+"е"+base_2+"ывях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ывёй" ; + Pl => base_1+"е"+base_2+"ывямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN378" + } ; + +mkN379 : Str -> N ; +mkN379 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"я"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN379" + } ; + +mkN380 : Str -> N ; +mkN380 base = + case base of { + base_1+base_2@?+"зе"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"зе"+base_3+"ь" ; + Pl => base_1+"а"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+base_2+"зе"+base_3+"ь" ; + Pl => base_1+"а"+base_2+base_3+"і" + } ; + Dat => table { + Sg => base_1+"а"+base_2+base_3+"ю" ; + Pl => base_1+"а"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+base_3+"я" ; + Pl => base_1+"а"+base_2+base_3+"яў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+base_3+"і" ; + Pl => base_1+"а"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+base_3+"ем" ; + Pl => base_1+"а"+base_2+base_3+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN380" + } ; + +mkN381 : Str -> N ; +mkN381 base = + case base of { + base_1+"зё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"зё"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"зё"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN381" + } ; + +mkN382 : Str -> N ; +mkN382 base = + case base of { + base_1+"ве"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ве"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"ы" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ам" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN382" + } ; + +mkN383 : Str -> N ; +mkN383 base = + case base of { + base_1+"ына" => lin N + { s = table { + Nom => table { + Sg => base_1+"ына" ; + Pl => base_1+"аты" + } ; + Acc => table { + Sg => base_1+"ыну" ; + Pl => base_1+"ат" + } ; + Dat => table { + Sg => base_1+"ыне" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"ыны" ; + Pl => base_1+"ат" + } ; + Loc => table { + Sg => base_1+"ыне" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"ынай" ; + Pl => base_1+"атамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN383" + } ; + +mkN384 : Str -> N ; +mkN384 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"й" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN384" + } ; + +mkN385 : Str -> N ; +mkN385 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"тоў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN385" + } ; + +mkN386 : Str -> N ; +mkN386 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"ёў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN386" + } ; + +mkN387 : Str -> N ; +mkN387 base = + case base of { + base_1+"я"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"зе" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"я"+base_2+"зе" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ой" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN387" + } ; + +mkN388 : Str -> N ; +mkN388 base = + case base of { + base_1+"а"+base_2@?+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+base_3+"а" ; + Pl => base_1+"о"+base_2+base_3+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+base_3+"у" ; + Pl => base_1+"о"+base_2+base_3+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+base_3+"е" ; + Pl => base_1+"о"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+base_3+"ы" ; + Pl => base_1+"о"+base_2+"е"+base_3 + } ; + Loc => table { + Sg => base_1+"а"+base_2+base_3+"е" ; + Pl => base_1+"о"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+base_3+"ой" ; + Pl => base_1+"о"+base_2+base_3+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN388" + } ; + +mkN389 : Str -> N ; +mkN389 base = + case base of { + base_1+"еў" => lin N + { s = table { + Nom => table { + Sg => base_1+"еў" ; + Pl => base_1+"явы" + } ; + Acc => table { + Sg => base_1+"еў" ; + Pl => base_1+"явы" + } ; + Dat => table { + Sg => base_1+"яву" ; + Pl => base_1+"явам" + } ; + Gen => table { + Sg => base_1+"ява" ; + Pl => base_1+"явоў" + } ; + Loc => table { + Sg => base_1+"яве" ; + Pl => base_1+"явах" + } ; + Instr => table { + Sg => base_1+"явом" ; + Pl => base_1+"явамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN389" + } ; + +mkN390 : Str -> N ; +mkN390 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"ы" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"ы" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN390" + } ; + +mkN391 : Str -> N ; +mkN391 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ой" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN391" + } ; + +mkN392 : Str -> N ; +mkN392 base = + case base of { + base_1+"ь"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь"+base_2+"о" ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"о" ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"е" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ом" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN392" + } ; + +mkN393 : Str -> N ; +mkN393 base = + case base of { + base_1+"э"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"э"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёны" + } ; + Acc => table { + Sg => base_1+"э"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ёны" + } ; + Dat => table { + Sg => base_1+"э"+base_2+"ю" ; + Pl => base_1+"а"+base_2+"ёнам" + } ; + Gen => table { + Sg => base_1+"э"+base_2+"я" ; + Pl => base_1+"а"+base_2+"ён" + } ; + Loc => table { + Sg => base_1+"э"+base_2+"і" ; + Pl => base_1+"а"+base_2+"ёнах" + } ; + Instr => table { + Sg => base_1+"э"+base_2+"ем" ; + Pl => base_1+"а"+base_2+"ёнамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN393" + } ; + +mkN394 : Str -> N ; +mkN394 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хі" + } ; + Acc => table { + Sg => base_1+"ха" ; + Pl => base_1+"хі" + } ; + Dat => table { + Sg => base_1+"ху" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"хаў" + } ; + Loc => table { + Sg => base_1+"се" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хам" ; + Pl => base_1+"хамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN394" + } ; + +mkN395 : Str -> N ; +mkN395 base = + case base of { + "аў"+base_1+"а" => lin N + { s = table { + Nom => table { + Sg => "аў"+base_1+"а" ; + Pl => "воў"+base_1+"ы" + } ; + Acc => table { + Sg => "аў"+base_1+"у" ; + Pl => "аве"+base_1 + } ; + Dat => table { + Sg => "аў"+base_1+"ы" ; + Pl => "воў"+base_1+"ам" + } ; + Gen => table { + Sg => "аў"+base_1+"ы" ; + Pl => "аве"+base_1 + } ; + Loc => table { + Sg => "аў"+base_1+"ы" ; + Pl => "воў"+base_1+"ах" + } ; + Instr => table { + Sg => "аў"+base_1+"ой" ; + Pl => "воў"+base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN395" + } ; + +mkN396 : Str -> N ; +mkN396 base = + case base of { + base_1+"х" => lin N + { s = table { + Nom => table { + Sg => base_1+"х" ; + Pl => base_1+"хі" + } ; + Acc => table { + Sg => base_1+"х" ; + Pl => base_1+"хі" + } ; + Dat => table { + Sg => base_1+"ху" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"хаў" + } ; + Loc => table { + Sg => base_1+"се" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хам" ; + Pl => base_1+"хамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN396" + } ; + +mkN397 : Str -> N ; +mkN397 base = + case base of { + base_1+"т" => lin N + { s = table { + Nom => table { + Sg => base_1+"т" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"т" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN397" + } ; + +mkN398 : Str -> N ; +mkN398 base = + case base of { + base_1+"е"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN398" + } ; + +mkN399 : Str -> N ; +mkN399 base = + case base of { + base_1+"а"+base_2@?+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"га" ; + Pl => base_1+"э"+base_2+"гі" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"гу" ; + Pl => base_1+"э"+base_2+"гі" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"э"+base_2+"гам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"гі" ; + Pl => base_1+"э"+base_2+"г" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"э"+base_2+"гах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"гой" ; + Pl => base_1+"э"+base_2+"гамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN399" + } ; + +mkN400 : Str -> N ; +mkN400 base = + case base of { + base_1+"э"+base_2@?+"е"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"э"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"а"+base_2+"я"+base_3+"і" + } ; + Acc => table { + Sg => base_1+"э"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"а"+base_2+"я"+base_3+"і" + } ; + Dat => table { + Sg => base_1+"э"+base_2+"е"+base_3+"ю" ; + Pl => base_1+"а"+base_2+"я"+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"э"+base_2+"е"+base_3+"я" ; + Pl => base_1+"а"+base_2+"я"+base_3+"ёў" + } ; + Loc => table { + Sg => base_1+"э"+base_2+"е"+base_3+"і" ; + Pl => base_1+"а"+base_2+"я"+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"э"+base_2+"е"+base_3+"ем" ; + Pl => base_1+"а"+base_2+"я"+base_3+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN400" + } ; + +mkN401 : Str -> N ; +mkN401 base = + case base of { + "рабёнак" => lin N + { s = table { + Nom => table { + Sg => "рабёнак" ; + Pl => "дзеці" + } ; + Acc => table { + Sg => "рабёнка" ; + Pl => "дзяцей" + } ; + Dat => table { + Sg => "рабёнку" ; + Pl => "дзецям" + } ; + Gen => table { + Sg => "рабёнка" ; + Pl => "дзяцей" + } ; + Loc => table { + Sg => "рабёнку" ; + Pl => "дзецях" + } ; + Instr => table { + Sg => "рабёнкам" ; + Pl => "дзецьмі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN401" + } ; + +mkN402 : Str -> N ; +mkN402 base = + case base of { + base_1+"ве"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2+"ь" ; + Pl => base_1+"ў"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ў"+base_2+"я" ; + Pl => base_1+"ў"+base_2+"яў" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"ю" ; + Pl => base_1+"ў"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"я" ; + Pl => base_1+"ў"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"і" ; + Pl => base_1+"ў"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ем" ; + Pl => base_1+"ў"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN402" + } ; + +mkN403 : Str -> N ; +mkN403 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"яў" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"яй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN403" + } ; + +mkN404 : Str -> N ; +mkN404 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"ы" + } ; + Acc => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"а" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"зе" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ам" ; + Pl => base+"амі" + } + } ; + voc = base+"зе" ; + g = Masc + }; + +mkN405 : Str -> N ; +mkN405 base = + case base of { + base_1+"ё"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"ь"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"ь"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ом" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN405" + } ; + +mkN406 : Str -> N ; +mkN406 base = + case base of { + base_1+"а"+base_2@?+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"га" ; + Pl => base_1+"э"+base_2+"гі" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"гу" ; + Pl => base_1+"э"+base_2+"гі" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"э"+base_2+"гам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"гі" ; + Pl => base_1+"э"+base_2+"гаў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"зе" ; + Pl => base_1+"э"+base_2+"гах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"гой" ; + Pl => base_1+"э"+base_2+"гамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN406" + } ; + +mkN407 : Str -> N ; +mkN407 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"ь"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ом" ; + Pl => base_1+"ь"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN407" + } ; + +mkN408 : Str -> N ; +mkN408 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ёй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN408" + } ; + +mkN409 : Str -> N ; +mkN409 base = + case base of { + base_1+"я"+base_2@("рык"|(?+?+?+?)) => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN409" + } ; + +mkN410 : Str -> N ; +mkN410 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"зю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN410" + } ; + +mkN411 : Str -> N ; +mkN411 base = + case base of { + base_1+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+"ня" ; + Pl => base_1+"ні" + } ; + Acc => table { + Sg => base_1+"ню" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"ні" ; + Pl => base_1+"ням" + } ; + Gen => table { + Sg => base_1+"ні" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ні" ; + Pl => base_1+"нях" + } ; + Instr => table { + Sg => base_1+"нёй" ; + Pl => base_1+"нямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN411" + } ; + +mkN412 : Str -> N ; +mkN412 base = + case base of { + base_1+"ая" => lin N + { s = table { + Nom => table { + Sg => base_1+"ая" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ую" ; + Pl => base_1+"ых" + } ; + Dat => table { + Sg => base_1+"ай" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ай" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ай" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN412" + } ; + +mkN413 : Str -> N ; +mkN413 base = + case base of { + base_1+"ь"+base_2@(?+?+?+?+?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь"+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"і"+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ем"+base_2+"ем" ; + Pl => nonExist + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN413" + } ; + +mkN414 : Str -> N ; +mkN414 base = + case base of { + base_1+"ін" => lin N + { s = table { + Nom => table { + Sg => base_1+"ін" ; + Pl => base_1+"іны" + } ; + Acc => table { + Sg => base_1+"іна" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"іну" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"іна" ; + Pl => base_1+"інаў" + } ; + Loc => table { + Sg => base_1+"іне" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"інам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN414" + } ; + +mkN415 : Str -> N ; +mkN415 base = + case base of { + base_1+"вы" => lin N + { s = table { + Nom => table { + Sg => base_1+"вы" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ў" ; + Pl => base_1+"ў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN415" + } ; + +mkN416 : Str -> N ; +mkN416 base = + case base of { + base_1+"я"+base_2@(?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"я"+base_2 ; + Pl => base_1+"е"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN416" + } ; + +mkN417 : Str -> N ; +mkN417 base = + case base of { + base_1+"а"+base_2@(?+?)+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"о" ; + Pl => base_1+"э"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"у" ; + Pl => base_1+"э"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"э"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"э"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ом" ; + Pl => base_1+"э"+base_2+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN417" + } ; + +mkN418 : Str -> N ; +mkN418 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"зю" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN418" + } ; + +mkN419 : Str -> N ; +mkN419 base = + case base of { + base_1+"ынка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ынка" ; + Pl => base_1+"аткі" + } ; + Acc => table { + Sg => base_1+"ынку" ; + Pl => base_1+"атак" + } ; + Dat => table { + Sg => base_1+"ынцы" ; + Pl => base_1+"аткам" + } ; + Gen => table { + Sg => base_1+"ынкі" ; + Pl => base_1+"атак" + } ; + Loc => table { + Sg => base_1+"ынцы" ; + Pl => base_1+"атках" + } ; + Instr => table { + Sg => base_1+"ынкай" ; + Pl => base_1+"аткамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN419" + } ; + +mkN420 : Str -> N ; +mkN420 base = + case base of { + base_1+"ве"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ом" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN420" + } ; + +mkN421 : Str -> N ; +mkN421 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"я"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"ю" ; + Pl => base_1+"я"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"я" ; + Pl => base_1+"я"+base_2+"ёў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"я"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ём" ; + Pl => base_1+"я"+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN421" + } ; + +mkN422 : Str -> N ; +mkN422 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"я"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"я"+base_2+"а" ; + Pl => base_1+"я"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"я"+base_2+"у" ; + Pl => base_1+"я"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"я"+base_2+"ом" ; + Pl => base_1+"я"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN422" + } ; + +mkN423 : Str -> N ; +mkN423 base = + case base of { + base_1+"ў" => lin N + { s = table { + Nom => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Acc => table { + Sg => base_1+"ў" ; + Pl => base_1+"вы" + } ; + Dat => table { + Sg => base_1+"ву" ; + Pl => base_1+"вам" + } ; + Gen => table { + Sg => base_1+"ва" ; + Pl => base_1+"воў" + } ; + Loc => table { + Sg => base_1+"ве" ; + Pl => base_1+"вах" + } ; + Instr => table { + Sg => base_1+"вом" ; + Pl => base_1+"вамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN423" + } ; + +mkN424 : Str -> N ; +mkN424 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"яў" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ёй" ; + Pl => base_1+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN424" + } ; + +mkN425 : Str -> N ; +mkN425 base = + case base of { + base_1+"чо"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"чо"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"чо"+base_2 ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"оў" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN425" + } ; + +mkN426 : Str -> N ; +mkN426 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ь" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"яй" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN426" + } ; + +mkN427 : Str -> N ; +mkN427 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ыя" + } ; + Acc => table { + Sg => base_1+"ога" ; + Pl => base_1+"ых" + } ; + Dat => table { + Sg => base_1+"ому" ; + Pl => base_1+"ым" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"ых" + } ; + Loc => table { + Sg => base_1+"ым" ; + Pl => base_1+"ых" + } ; + Instr => table { + Sg => base_1+"ым" ; + Pl => base_1+"ымі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN427" + } ; + +mkN428 : Str -> N ; +mkN428 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN428" + } ; + +mkN429 : Str -> N ; +mkN429 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ы" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN429" + } ; + +mkN430 : Str -> N ; +mkN430 base = + case base of { + base_1+"дзе"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"дзе"+base_2 ; + Pl => base_1+"й"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"оў" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"у" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"й"+base_2+"оў" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ом" ; + Pl => base_1+"й"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN430" + } ; + +mkN431 : Str -> N ; +mkN431 base = + lin N + { s = table { + Nom => table { + Sg => base ; + Pl => base+"і" + } ; + Acc => table { + Sg => base ; + Pl => base+"і" + } ; + Dat => table { + Sg => base+"у" ; + Pl => base+"ам" + } ; + Gen => table { + Sg => base+"у" ; + Pl => base+"оў" + } ; + Loc => table { + Sg => base+"у" ; + Pl => base+"ах" + } ; + Instr => table { + Sg => base+"ом" ; + Pl => base+"амі" + } + } ; + voc = base ; + g = Masc + }; + +mkN432 : Str -> N ; +mkN432 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => base_1+"таў" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ты" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN432" + } ; + +mkN433 : Str -> N ; +mkN433 base = + case base of { + base_1+"ё" => lin N + { s = table { + Nom => table { + Sg => base_1+"ё" ; + Pl => base_1+"яты" + } ; + Acc => table { + Sg => base_1+"ё" ; + Pl => base_1+"ят" + } ; + Dat => table { + Sg => base_1+"яці" ; + Pl => base_1+"ятам" + } ; + Gen => table { + Sg => base_1+"яці" ; + Pl => base_1+"ят" + } ; + Loc => table { + Sg => base_1+"яці" ; + Pl => base_1+"ятах" + } ; + Instr => table { + Sg => base_1+"ём" ; + Pl => base_1+"ятамі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN433" + } ; + +mkN434 : Str -> N ; +mkN434 base = + case base of { + base_1+"а"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"яў" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ямі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN434" + } ; + +mkN435 : Str -> N ; +mkN435 base = + case base of { + base_1+"ве"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ве"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Acc => table { + Sg => base_1+"ве"+base_2 ; + Pl => base_1+"ў"+base_2+"ы" + } ; + Dat => table { + Sg => base_1+"ў"+base_2+"у" ; + Pl => base_1+"ў"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ў"+base_2+"а" ; + Pl => base_1+"ў"+base_2+"аў" + } ; + Loc => table { + Sg => base_1+"ў"+base_2+"ы" ; + Pl => base_1+"ў"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ў"+base_2+"ам" ; + Pl => base_1+"ў"+base_2+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN435" + } ; + +mkN436 : Str -> N ; +mkN436 base = + case base of { + base_1+"яя" => lin N + { s = table { + Nom => table { + Sg => base_1+"яя" ; + Pl => base_1+"еі" + } ; + Acc => table { + Sg => base_1+"яю" ; + Pl => base_1+"еі" + } ; + Dat => table { + Sg => base_1+"яі" ; + Pl => base_1+"еям" + } ; + Gen => table { + Sg => base_1+"яі" ; + Pl => base_1+"еяў" + } ; + Loc => table { + Sg => base_1+"яі" ; + Pl => base_1+"еях" + } ; + Instr => table { + Sg => base_1+"яёй" ; + Pl => base_1+"еямі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN436" + } ; + +mkN437 : Str -> N ; +mkN437 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" --guessed + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 --guessed + } ; + Dat => table { + Sg => base_1+"е" ; + Pl => base_1+"ам" --guessed + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 --guessed + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" --guessed + } ; + Instr => table { + Sg => base_1+"ай" ; + Pl => base_1+"амі" --guessed + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN437" + } ; + +mkN438 : Str -> N ; +mkN438 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Dat => table { + Sg => base_1+"ту" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"та" ; + Pl => base_1+"таў" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"там" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN438" + } ; + +mkN439 : Str -> N ; +mkN439 base = + case base of { + base_1+"та" => lin N + { s = table { + Nom => table { + Sg => base_1+"та" ; + Pl => base_1+"ты" + } ; + Acc => table { + Sg => base_1+"ту" ; + Pl => base_1+"т" + } ; + Dat => table { + Sg => base_1+"це" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ту" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"це" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"тай" ; + Pl => base_1+"тамі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN439" + } ; + +mkN440 : Str -> N ; +mkN440 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"кі" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"кі" + } ; + Dat => table { + Sg => base_1+"цы" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"кі" ; + Pl => base_1+"каў" + } ; + Loc => table { + Sg => base_1+"цы" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кай" ; + Pl => base_1+"камі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN440" + } ; + +mkN441 : Str -> N ; +mkN441 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"аў" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN441" + } ; + +mkN442 : Str -> N ; +mkN442 base = + case base of { + base_1+"а"+base_2@(?+?)+"ё" => lin N + { s = table { + Nom => table { + Sg => base_1+"а"+base_2+"ё" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"ё" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"а"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"я" ; + Pl => base_1+"о"+base_2+"яў" + } ; + Loc => table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"а"+base_2+"ём" ; + Pl => base_1+"о"+base_2+"ямі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN442" + } ; + +mkN443 : Str -> N ; +mkN443 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" --guessed + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" --guessed + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" --guessed + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"аў" --guessed + } ; + Loc => table { + Sg => base_1+"е" ; + Pl => base_1+"ах" --guessed + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" --guessed + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN443" + } ; + +mkN444 : Str -> N ; +mkN444 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1 + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN444" + } ; + +mkN445 : Str -> N ; +mkN445 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ы" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ы" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN445" + } ; + +mkN446 : Str -> N ; +mkN446 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN446" + } ; + +mkN447 : Str -> N ; +mkN447 base = + case base of { + base_1+"ы" => lin N + { s = table { + Nom => table { + Sg => base_1+"ы" ; + Pl => base_1+"ы" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ы" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"аў" ; + Pl => base_1+"аў" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Fem + }; + _ => error "Can't apply paradigm mkN447" + } ; + +mkN448 : Str -> N ; +mkN448 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ам" ; + Pl => base_1+"амі" + } + } ; + voc = base ; + g = Masc + }; + _ => error "Can't apply paradigm mkN448" + } ; + +mkV001 : Str -> V ; +mkV001 base = + case base of { + base_1+"віць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ві" ; + Pl => base_1+"віце" + } ; + infinitive = base_1+"віць" ; + participle = table { + Masc => table { + Sg => base_1+"віў" ; + Pl => base_1+"вілі" + } ; + Fem => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } ; + Neuter => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ўлены" + } + } + }; + _ => error "Can't apply paradigm mkV001" + } ; + +mkV002 : Str -> V ; +mkV002 base = + case base of { + "брак" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "brak" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = "брак" ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Fem => table { + Sg => nonExist ; + Pl => nonExist + } ; + Neuter => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV002" + } ; + +mkV003 : Str -> V ; +mkV003 base = + case base of { + base_1+"е"+base_2@("рк"|?)+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"аваць" ; + Pl => base_1+"я"+base_2+"уем" + } ; + P2 => table { + Sg => base_1+"я"+base_2+"уеш" ; + Pl => base_1+"я"+base_2+"уеце" + } ; + P3 => table { + Sg => base_1+"я"+base_2+"уе" ; + Pl => base_1+"я"+base_2+"уюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"аваць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"уй" ; + Pl => base_1+"я"+base_2+"уйце" + } ; + infinitive = base_1+"е"+base_2+"аваць" ; + participle = table { + Masc => table { + Sg => base_1+"е"+base_2+"аваў" ; + Pl => base_1+"е"+base_2+"авалі" + } ; + Fem => table { + Sg => base_1+"е"+base_2+"авала" ; + Pl => base_1+"е"+base_2+"авалі" + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"авала" ; + Pl => base_1+"е"+base_2+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"аваны" + } + } + }; + _ => error "Can't apply paradigm mkV003" + } ; + +mkV004 : Str -> V ; +mkV004 base = + case base of { + "быць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "bycʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => "ёсць" ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "будзь" ; + Pl => "будзьце" + } ; + infinitive = "быць" ; + participle = table { + Masc => table { + Sg => "быў" ; + Pl => "былі" + } ; + Fem => table { + Sg => "была" ; + Pl => "былі" + } ; + Neuter => table { + Sg => "было" ; + Pl => "былі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV004" + } ; + +mkV005 : Str -> V ; +mkV005 base = + case base of { + "есьці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "есьці" ; + Pl => "ядзім" + } ; + P2 => table { + Sg => "ясі" ; + Pl => "ясце" + } ; + P3 => table { + Sg => "есць" ; + Pl => "ядуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "еш" ; + Pl => "ешце" + } ; + infinitive = "есьці" ; + participle = table { + Masc => table { + Sg => "еў" ; + Pl => "елі" + } ; + Fem => table { + Sg => "ела" ; + Pl => "елі" + } ; + Neuter => table { + Sg => "ела" ; + Pl => "елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV005" + } ; + +mkV006 : Str -> V ; +mkV006 base = + case base of { + "піць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "picʹ" ; + Pl => "п'ём" + } ; + P2 => table { + Sg => "п'еш" ; + Pl => "п'яце" + } ; + P3 => table { + Sg => "п'е" ; + Pl => "п'юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "пі" ; + Pl => "піце" + } ; + infinitive = "піць" ; + participle = table { + Masc => table { + Sg => "піў" ; + Pl => "пілі" + } ; + Fem => table { + Sg => "піла" ; + Pl => "пілі" + } ; + Neuter => table { + Sg => "піло" ; + Pl => "пілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "піты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV006" + } ; + +mkV007 : Str -> V ; +mkV007 base = + case base of { + "спаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "spacʹ" ; + Pl => "спім" + } ; + P2 => table { + Sg => "спіш" ; + Pl => "спіце" + } ; + P3 => table { + Sg => "спіць" ; + Pl => "спяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "спі" ; + Pl => "спіце" + } ; + infinitive = "спаць" ; + participle = table { + Masc => table { + Sg => "спаў" ; + Pl => "спалі" + } ; + Fem => table { + Sg => "спала" ; + Pl => "спалі" + } ; + Neuter => table { + Sg => "спала" ; + Pl => "спалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV007" + } ; + +mkV008 : Str -> V ; +mkV008 base = + case base of { + "жыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "žycʹ" ; + Pl => "жывём" + } ; + P2 => table { + Sg => "жывеш" ; + Pl => "жывяце" + } ; + P3 => table { + Sg => "жыве" ; + Pl => "жывуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "жыві" ; + Pl => "жывіце" + } ; + infinitive = "жыць" ; + participle = table { + Masc => table { + Sg => "жыў" ; + Pl => "жылі" + } ; + Fem => table { + Sg => "жыла" ; + Pl => "жылі" + } ; + Neuter => table { + Sg => "жыло" ; + Pl => "жылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV008" + } ; + +mkV009 : Str -> V ; +mkV009 base = + case base of { + base_1+"ацець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ацець" ; + Pl => base_1+"очам" + } ; + P2 => table { + Sg => base_1+"очаш" ; + Pl => base_1+"очаце" + } ; + P3 => table { + Sg => base_1+"оча" ; + Pl => base_1+"очуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"аці" ; + Pl => base_1+"аціце" + } ; + infinitive = base_1+"ацець" ; + participle = table { + Masc => table { + Sg => base_1+"ацеў" ; + Pl => base_1+"ацелі" + } ; + Fem => table { + Sg => base_1+"ацела" ; + Pl => base_1+"ацелі" + } ; + Neuter => table { + Sg => base_1+"ацела" ; + Pl => base_1+"ацелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV009" + } ; + +mkV010 : Str -> V ; +mkV010 base = + case base of { + "знаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "znacʹ" ; + Pl => "знаем" + } ; + P2 => table { + Sg => "знаеш" ; + Pl => "знаеце" + } ; + P3 => table { + Sg => "знае" ; + Pl => "знаюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "знай" ; + Pl => "знайце" + } ; + infinitive = "знаць" ; + participle = table { + Masc => table { + Sg => "знаў" ; + Pl => "зналі" + } ; + Fem => table { + Sg => "знала" ; + Pl => "зналі" + } ; + Neuter => table { + Sg => "знала" ; + Pl => "зналі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV010" + } ; + +mkV011 : Str -> V ; +mkV011 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ены" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV011" + } ; + +mkV012 : Str -> V ; +mkV012 base = + case base of { + "есці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "есці" ; + Pl => "ядзім" + } ; + P2 => table { + Sg => "ясі" ; + Pl => "ясце" + } ; + P3 => table { + Sg => "есць" ; + Pl => "ядуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "еш" ; + Pl => "ешце" + } ; + infinitive = "есці" ; + participle = table { + Masc => table { + Sg => "еў" ; + Pl => "елі" + } ; + Fem => table { + Sg => "ела" ; + Pl => "елі" + } ; + Neuter => table { + Sg => "ела" ; + Pl => "елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV012" + } ; + +mkV013 : Str -> V ; +mkV013 base = + case base of { + base_1 => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1 ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Fem => table { + Sg => nonExist ; + Pl => nonExist + } ; + Neuter => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV013" + } ; + +mkV014 : Str -> V ; +mkV014 base = + case base of { + base_1+"няць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"мі" ; + Pl => base_1+"міце" + } ; + infinitive = base_1+"няць" ; + participle = table { + Masc => table { + Sg => base_1+"няў" ; + Pl => base_1+"нялі" + } ; + Fem => table { + Sg => base_1+"няла" ; + Pl => base_1+"нялі" + } ; + Neuter => table { + Sg => base_1+"няло" ; + Pl => base_1+"нялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"няты" + } + } + }; + _ => error "Can't apply paradigm mkV014" + } ; + +mkV015 : Str -> V ; +mkV015 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"еце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ны" + } + } + }; + _ => error "Can't apply paradigm mkV015" + } ; + +mkV016 : Str -> V ; +mkV016 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => base_1+"дзём" + } ; + P2 => table { + Sg => base_1+"дзеш" ; + Pl => base_1+"дзяце" + } ; + P3 => table { + Sg => base_1+"дзе" ; + Pl => base_1+"дуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзі" ; + Pl => base_1+"дзіце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"шоў" ; + Pl => base_1+"шлі" + } ; + Fem => table { + Sg => base_1+"шла" ; + Pl => base_1+"шлі" + } ; + Neuter => table { + Sg => base_1+"шло" ; + Pl => base_1+"шлі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV016" + } ; + +mkV017 : Str -> V ; +mkV017 base = + case base of { + base_1+"а"+base_2@("дз"|?)+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"іць" ; + Pl => base_1+"о"+base_2+"ім" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"іш" ; + Pl => base_1+"о"+base_2+"іце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"іць" ; + Pl => base_1+"о"+base_2+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"іў" ; + Pl => base_1+"а"+base_2+"ілі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"іла" ; + Pl => base_1+"а"+base_2+"ілі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"іла" ; + Pl => base_1+"а"+base_2+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"лены" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"лены" + } + } + }; + _ => error "Can't apply paradigm mkV017" + } ; + +mkV018 : Str -> V ; +mkV018 base = + case base of { + base_1+"хаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хаць" ; + Pl => base_1+"дзем" + } ; + P2 => table { + Sg => base_1+"дзеш" ; + Pl => base_1+"дзеце" + } ; + P3 => table { + Sg => base_1+"дзе" ; + Pl => base_1+"дуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хаць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзь" ; + Pl => base_1+"дзьце" + } ; + infinitive = base_1+"хаць" ; + participle = table { + Masc => table { + Sg => base_1+"хаў" ; + Pl => base_1+"халі" + } ; + Fem => table { + Sg => base_1+"хала" ; + Pl => base_1+"халі" + } ; + Neuter => table { + Sg => base_1+"хала" ; + Pl => base_1+"халі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV018" + } ; + +mkV019 : Str -> V ; +mkV019 base = + case base of { + base_1+"а"+base_2@?+"ыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ыць" ; + Pl => base_1+"о"+base_2+"ым" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"ыш" ; + Pl => base_1+"о"+base_2+"ыце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"ыць" ; + Pl => base_1+"о"+base_2+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ыце" + } ; + infinitive = base_1+"а"+base_2+"ыць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"ыў" ; + Pl => base_1+"а"+base_2+"ылі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ыла" ; + Pl => base_1+"а"+base_2+"ылі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ыла" ; + Pl => base_1+"а"+base_2+"ылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"аны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV019" + } ; + +mkV020 : Str -> V ; +mkV020 base = + case base of { + base_1+"ыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"ым" + } ; + P2 => table { + Sg => base_1+"ыш" ; + Pl => base_1+"ыце" + } ; + P3 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1 ; + Pl => base_1+"це" + } ; + infinitive = base_1+"ыць" ; + participle = table { + Masc => table { + Sg => base_1+"ыў" ; + Pl => base_1+"ылі" + } ; + Fem => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } ; + Neuter => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV020" + } ; + +mkV021 : Str -> V ; +mkV021 base = + case base of { + base_1+"агчы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"агчы" ; + Pl => base_1+"ожам" + } ; + P2 => table { + Sg => base_1+"ожаш" ; + Pl => base_1+"ожаце" + } ; + P3 => table { + Sg => base_1+"ожа" ; + Pl => base_1+"огуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"агчы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ажы" ; + Pl => base_1+"ажыце" + } ; + infinitive = base_1+"агчы" ; + participle = table { + Masc => table { + Sg => base_1+"ог" ; + Pl => base_1+"аглі" + } ; + Fem => table { + Sg => base_1+"агла" ; + Pl => base_1+"аглі" + } ; + Neuter => table { + Sg => base_1+"агло" ; + Pl => base_1+"аглі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV021" + } ; + +mkV022 : Str -> V ; +mkV022 base = + case base of { + base_1+"ваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ваць" ; + Pl => base_1+"ём" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"яце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"вай" ; + Pl => base_1+"вайце" + } ; + infinitive = base_1+"ваць" ; + participle = table { + Masc => table { + Sg => base_1+"ваў" ; + Pl => base_1+"валі" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"валі" + } ; + Neuter => table { + Sg => base_1+"вала" ; + Pl => base_1+"валі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV022" + } ; + +mkV023 : Str -> V ; +mkV023 base = + case base of { + "чуць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "čucʹ" ; + Pl => "чуем" + } ; + P2 => table { + Sg => "чуеш" ; + Pl => "чуеце" + } ; + P3 => table { + Sg => "чуе" ; + Pl => "чуюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "чуй" ; + Pl => "чуйце" + } ; + infinitive = "чуць" ; + participle = table { + Masc => table { + Sg => "чуў" ; + Pl => "чулі" + } ; + Fem => table { + Sg => "чула" ; + Pl => "чулі" + } ; + Neuter => table { + Sg => "чула" ; + Pl => "чулі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "чуты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV023" + } ; + +mkV024 : Str -> V ; +mkV024 base = + case base of { + "стаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "stacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "стаць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "стань" ; + Pl => "станьце" + } ; + infinitive = "стаць" ; + participle = table { + Masc => table { + Sg => "стаў" ; + Pl => "сталі" + } ; + Fem => table { + Sg => "стала" ; + Pl => "сталі" + } ; + Neuter => table { + Sg => "стала" ; + Pl => "сталі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV024" + } ; + +mkV025 : Str -> V ; +mkV025 base = + case base of { + base_1+"аяць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аяць" ; + Pl => base_1+"аім" + } ; + P2 => table { + Sg => base_1+"аіш" ; + Pl => base_1+"аіце" + } ; + P3 => table { + Sg => base_1+"аіць" ; + Pl => base_1+"аяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аяць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ой" ; + Pl => base_1+"ойце" + } ; + infinitive = base_1+"аяць" ; + participle = table { + Masc => table { + Sg => base_1+"аяў" ; + Pl => base_1+"аялі" + } ; + Fem => table { + Sg => base_1+"аяла" ; + Pl => base_1+"аялі" + } ; + Neuter => table { + Sg => base_1+"аяла" ; + Pl => base_1+"аялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV025" + } ; + +mkV026 : Str -> V ; +mkV026 base = + case base of { + base_1+"а"+base_2@?+"іцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"іцца" ; + Pl => base_1+"о"+base_2+"імся" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"ішся" ; + Pl => base_1+"о"+base_2+"іцеся" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"іцца" ; + Pl => base_1+"о"+base_2+"яцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"іся" ; + Pl => base_1+"а"+base_2+"іцеся" + } ; + infinitive = base_1+"а"+base_2+"іцца" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"іўся" ; + Pl => base_1+"а"+base_2+"іліся" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ілася" ; + Pl => base_1+"а"+base_2+"іліся" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ілася" ; + Pl => base_1+"а"+base_2+"іліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV026" + } ; + +mkV027 : Str -> V ; +mkV027 base = + case base of { + "мыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "mycʹ" ; + Pl => "мыем" + } ; + P2 => table { + Sg => "мыеш" ; + Pl => "мыеце" + } ; + P3 => table { + Sg => "мые" ; + Pl => "мыюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "мый" ; + Pl => "мыйце" + } ; + infinitive = "мыць" ; + participle = table { + Masc => table { + Sg => "мыў" ; + Pl => "мылі" + } ; + Fem => table { + Sg => "мыла" ; + Pl => "мылі" + } ; + Neuter => table { + Sg => "мыла" ; + Pl => "мылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "мыты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV027" + } ; + +mkV028 : Str -> V ; +mkV028 base = + case base of { + base_1+"саць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"саць" ; + Pl => base_1+"шам" + } ; + P2 => table { + Sg => base_1+"шаш" ; + Pl => base_1+"шаце" + } ; + P3 => table { + Sg => base_1+"ша" ; + Pl => base_1+"шуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"саць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"шы" ; + Pl => base_1+"шыце" + } ; + infinitive = base_1+"саць" ; + participle = table { + Masc => table { + Sg => base_1+"саў" ; + Pl => base_1+"салі" + } ; + Fem => table { + Sg => base_1+"сала" ; + Pl => base_1+"салі" + } ; + Neuter => table { + Sg => base_1+"сала" ; + Pl => base_1+"салі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"саны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"саны" + } + } + }; + _ => error "Can't apply paradigm mkV028" + } ; + +mkV029 : Str -> V ; +mkV029 base = + case base of { + base_1+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аваць" ; + Pl => base_1+"уем" + } ; + P2 => table { + Sg => base_1+"уеш" ; + Pl => base_1+"уеце" + } ; + P3 => table { + Sg => base_1+"уе" ; + Pl => base_1+"уюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аваць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйце" + } ; + infinitive = base_1+"аваць" ; + participle = table { + Masc => table { + Sg => base_1+"аваў" ; + Pl => base_1+"авалі" + } ; + Fem => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } ; + Neuter => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аваны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аваны" + } + } + }; + _ => error "Can't apply paradigm mkV029" + } ; + +mkV030 : Str -> V ; +mkV030 base = + case base of { + base_1+"вацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вацца" ; + Pl => base_1+"ёмся" + } ; + P2 => table { + Sg => base_1+"ешся" ; + Pl => base_1+"яцеся" + } ; + P3 => table { + Sg => base_1+"ецца" ; + Pl => base_1+"юцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"вайся" ; + Pl => base_1+"вайцеся" + } ; + infinitive = base_1+"вацца" ; + participle = table { + Masc => table { + Sg => base_1+"ваўся" ; + Pl => base_1+"валіся" + } ; + Fem => table { + Sg => base_1+"валася" ; + Pl => base_1+"валіся" + } ; + Neuter => table { + Sg => base_1+"валася" ; + Pl => base_1+"валіся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV030" + } ; + +mkV031 : Str -> V ; +mkV031 base = + case base of { + base_1+"а"+base_2@?+"ыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ыць" ; + Pl => base_1+"о"+base_2+"ым" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"ыш" ; + Pl => base_1+"о"+base_2+"ыце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"ыць" ; + Pl => base_1+"о"+base_2+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"ы" ; + Pl => base_1+"а"+base_2+"ыце" + } ; + infinitive = base_1+"а"+base_2+"ыць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"ыў" ; + Pl => base_1+"а"+base_2+"ылі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ыла" ; + Pl => base_1+"а"+base_2+"ылі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ыла" ; + Pl => base_1+"а"+base_2+"ылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"а"+base_2+"оны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV031" + } ; + +mkV032 : Str -> V ; +mkV032 base = + case base of { + "праць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "pracʹ" ; + Pl => "пяром" + } ; + P2 => table { + Sg => "пярэш" ; + Pl => "пераце" + } ; + P3 => table { + Sg => "пярэ" ; + Pl => "пяруць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "пяры" ; + Pl => "пярыце" + } ; + infinitive = "праць" ; + participle = table { + Masc => table { + Sg => "праў" ; + Pl => "пралі" + } ; + Fem => table { + Sg => "прала" ; + Pl => "пралі" + } ; + Neuter => table { + Sg => "прала" ; + Pl => "пралі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV032" + } ; + +mkV033 : Str -> V ; +mkV033 base = + case base of { + base_1+"ціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ціць" ; + Pl => base_1+"цім" + } ; + P2 => table { + Sg => base_1+"ціш" ; + Pl => base_1+"ціце" + } ; + P3 => table { + Sg => base_1+"ціць" ; + Pl => base_1+"цяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ці" ; + Pl => base_1+"ціце" + } ; + infinitive = base_1+"ціць" ; + participle = table { + Masc => table { + Sg => base_1+"ціў" ; + Pl => base_1+"цілі" + } ; + Fem => table { + Sg => base_1+"ціла" ; + Pl => base_1+"цілі" + } ; + Neuter => table { + Sg => base_1+"ціла" ; + Pl => base_1+"цілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чаны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"чаны" + } + } + }; + _ => error "Can't apply paradigm mkV033" + } ; + +mkV034 : Str -> V ; +mkV034 base = + case base of { + base_1+"каць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"каць" ; + Pl => base_1+"чам" + } ; + P2 => table { + Sg => base_1+"чаш" ; + Pl => base_1+"чаце" + } ; + P3 => table { + Sg => base_1+"ча" ; + Pl => base_1+"чуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ч" ; + Pl => base_1+"чце" + } ; + infinitive = base_1+"каць" ; + participle = table { + Masc => table { + Sg => base_1+"каў" ; + Pl => base_1+"калі" + } ; + Fem => table { + Sg => base_1+"кала" ; + Pl => base_1+"калі" + } ; + Neuter => table { + Sg => base_1+"кала" ; + Pl => base_1+"калі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"каны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV034" + } ; + +mkV035 : Str -> V ; +mkV035 base = + case base of { + base_1+"заць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"заць" ; + Pl => base_1+"жам" + } ; + P2 => table { + Sg => base_1+"жаш" ; + Pl => base_1+"жаце" + } ; + P3 => table { + Sg => base_1+"жа" ; + Pl => base_1+"жуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ж" ; + Pl => base_1+"жце" + } ; + infinitive = base_1+"заць" ; + participle = table { + Masc => table { + Sg => base_1+"заў" ; + Pl => base_1+"залі" + } ; + Fem => table { + Sg => base_1+"зала" ; + Pl => base_1+"залі" + } ; + Neuter => table { + Sg => base_1+"зала" ; + Pl => base_1+"залі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"заны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV035" + } ; + +mkV036 : Str -> V ; +mkV036 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV036" + } ; + +mkV037 : Str -> V ; +mkV037 base = + case base of { + base_1+"уць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьце" + } ; + infinitive = base_1+"уць" ; + participle = table { + Masc => table { + Sg => base_1+"уў" ; + Pl => base_1+"улі" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } ; + Neuter => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"уты" + } + } + }; + _ => error "Can't apply paradigm mkV037" + } ; + +mkV038 : Str -> V ; +mkV038 base = + case base of { + base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ні" ; + Pl => base_1+"ніце" + } ; + infinitive = base_1+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"аў" ; + Pl => base_1+"алі" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аты" + } + } + }; + _ => error "Can't apply paradigm mkV038" + } ; + +mkV039 : Str -> V ; +mkV039 base = + case base of { + base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => base_1+"ём" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"яце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"аў" ; + Pl => base_1+"алі" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } ; + Neuter => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ланы" + } + } + }; + _ => error "Can't apply paradigm mkV039" + } ; + +mkV040 : Str -> V ; +mkV040 base = + case base of { + base_1+"а"+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"аць" ; + Pl => base_1+"о"+base_2+"ім" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"іш" ; + Pl => base_1+"о"+base_2+"іце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"іць" ; + Pl => base_1+"о"+base_2+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"аў" ; + Pl => base_1+"а"+base_2+"алі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ала" ; + Pl => base_1+"а"+base_2+"алі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ала" ; + Pl => base_1+"а"+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV040" + } ; + +mkV041 : Str -> V ; +mkV041 base = + case base of { + "у"+base_1+"яць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "у"+base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "у"+base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ва"+base_1+"ьмі" ; + Pl => "ва"+base_1+"ьміце" + } ; + infinitive = "у"+base_1+"яць" ; + participle = table { + Masc => table { + Sg => "у"+base_1+"яў" ; + Pl => "у"+base_1+"ялі" + } ; + Fem => table { + Sg => "у"+base_1+"яла" ; + Pl => "у"+base_1+"ялі" + } ; + Neuter => table { + Sg => "у"+base_1+"яло" ; + Pl => "у"+base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "у"+base_1+"яты" + } + } + }; + _ => error "Can't apply paradigm mkV041" + } ; + +mkV042 : Str -> V ; +mkV042 base = + case base of { + "браць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "bracʹ" ; + Pl => "бяром" + } ; + P2 => table { + Sg => "бярэш" ; + Pl => "бераце" + } ; + P3 => table { + Sg => "бярэ" ; + Pl => "бяруць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "бяры" ; + Pl => "бярыце" + } ; + infinitive = "браць" ; + participle = table { + Masc => table { + Sg => "браў" ; + Pl => "бралі" + } ; + Fem => table { + Sg => "брала" ; + Pl => "бралі" + } ; + Neuter => table { + Sg => "брала" ; + Pl => "бралі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV042" + } ; + +mkV043 : Str -> V ; +mkV043 base = + case base of { + base_1+"цца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => base_1+"емся" + } ; + P2 => table { + Sg => base_1+"ешся" ; + Pl => base_1+"ецеся" + } ; + P3 => table { + Sg => base_1+"ецца" ; + Pl => base_1+"юцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"йся" ; + Pl => base_1+"йцеся" + } ; + infinitive = base_1+"цца" ; + participle = table { + Masc => table { + Sg => base_1+"ўся" ; + Pl => base_1+"ліся" + } ; + Fem => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } ; + Neuter => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV043" + } ; + +mkV044 : Str -> V ; +mkV044 base = + case base of { + "ўзяць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ŭzjacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ўзяць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "вазьмі" ; + Pl => "вазьміце" + } ; + infinitive = "ўзяць" ; + participle = table { + Masc => table { + Sg => "ўзяў" ; + Pl => "ўзялі" + } ; + Fem => table { + Sg => "ўзяла" ; + Pl => "ўзялі" + } ; + Neuter => table { + Sg => "ўзяло" ; + Pl => "ўзялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "ўзяты" + } + } + }; + _ => error "Can't apply paradigm mkV044" + } ; + +mkV045 : Str -> V ; +mkV045 base = + case base of { + base_1+"уць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"еце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"уць" ; + participle = table { + Masc => table { + Sg => base_1+"уў" ; + Pl => base_1+"улі" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } ; + Neuter => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"уты" + } + } + }; + _ => error "Can't apply paradigm mkV045" + } ; + +mkV046 : Str -> V ; +mkV046 base = + case base of { + base_1+"цца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ся" ; + Pl => base_1+"цеся" + } ; + infinitive = base_1+"цца" ; + participle = table { + Masc => table { + Sg => base_1+"ўся" ; + Pl => base_1+"ліся" + } ; + Fem => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } ; + Neuter => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV046" + } ; + +mkV047 : Str -> V ; +mkV047 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" --guessed + } ; + P2 => table { + Sg => base_1+"іш" ; --guessed + Pl => base_1+"іце" --guessed + } ; + P3 => table { + Sg => base_1+"іць" ; --guessed + Pl => base_1+"яць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ены" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лены" + } + } + }; + _ => error "Can't apply paradigm mkV047" + } ; + +mkV048 : Str -> V ; +mkV048 base = + case base of { + base_1+"эць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"эць" ; + Pl => base_1+"ым" + } ; + P2 => table { + Sg => base_1+"ыш" ; + Pl => base_1+"ыце" + } ; + P3 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"эць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ы" ; + Pl => base_1+"ыце" + } ; + infinitive = base_1+"эць" ; + participle = table { + Masc => table { + Sg => base_1+"эў" ; + Pl => base_1+"элі" + } ; + Fem => table { + Sg => base_1+"эла" ; + Pl => base_1+"элі" + } ; + Neuter => table { + Sg => base_1+"эла" ; + Pl => base_1+"элі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV048" + } ; + +mkV049 : Str -> V ; +mkV049 base = + case base of { + base_1+"е"+base_2@?+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ці" ; + Pl => base_1+"я"+base_2+"ём" + } ; + P2 => table { + Sg => base_1+"я"+base_2+"еш" ; + Pl => base_1+"е"+base_2+"яце" + } ; + P3 => table { + Sg => base_1+"я"+base_2+"е" ; + Pl => base_1+"я"+base_2+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"я"+base_2+"іце" + } ; + infinitive = base_1+"е"+base_2+"ці" ; + participle = table { + Masc => table { + Sg => base_1+"ё"+base_2 ; + Pl => base_1+"е"+base_2+"лі" + } ; + Fem => table { + Sg => base_1+"е"+base_2+"ла" ; + Pl => base_1+"е"+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"ла" ; + Pl => base_1+"е"+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV049" + } ; + +mkV050 : Str -> V ; +mkV050 base = + case base of { + base_1+base_2@?+"сіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"сіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"сіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2+"сі" ; + Pl => base_1+base_2+"сіце" + } ; + infinitive = base_1+base_2+"сіць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"сіў" ; + Pl => base_1+base_2+"сілі" + } ; + Fem => table { + Sg => base_1+base_2+"сіла" ; + Pl => base_1+base_2+"сілі" + } ; + Neuter => table { + Sg => base_1+base_2+"сіла" ; + Pl => base_1+base_2+"сілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ош"+base_2+"ны" + } + } + }; + _ => error "Can't apply paradigm mkV050" + } ; + +mkV051 : Str -> V ; +mkV051 base = + case base of { + base_1+"асіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"асіць" ; + Pl => base_1+"осім" + } ; + P2 => table { + Sg => base_1+"осіш" ; + Pl => base_1+"осіце" + } ; + P3 => table { + Sg => base_1+"осіць" ; + Pl => base_1+"осяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"асі" ; + Pl => base_1+"асіце" + } ; + infinitive = base_1+"асіць" ; + participle = table { + Masc => table { + Sg => base_1+"асіў" ; + Pl => base_1+"асілі" + } ; + Fem => table { + Sg => base_1+"асіла" ; + Pl => base_1+"асілі" + } ; + Neuter => table { + Sg => base_1+"асіла" ; + Pl => base_1+"асілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ошаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV051" + } ; + +mkV052 : Str -> V ; +mkV052 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => base_1+"дзём" + } ; + P2 => table { + Sg => base_1+"дзеш" ; + Pl => base_1+"дзяце" + } ; + P3 => table { + Sg => base_1+"дзе" ; + Pl => base_1+"дуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзі" ; + Pl => base_1+"дзіце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } + } + }; + _ => error "Can't apply paradigm mkV052" + } ; + +mkV053 : Str -> V ; +mkV053 base = + case base of { + base_1+"ыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"удзь" ; + Pl => base_1+"удзьце" + } ; + infinitive = base_1+"ыць" ; + participle = table { + Masc => table { + Sg => base_1+"ыў" ; + Pl => base_1+"ылі" + } ; + Fem => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } ; + Neuter => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ыты" + } + } + }; + _ => error "Can't apply paradigm mkV053" + } ; + +mkV054 : Str -> V ; +mkV054 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => base_1+"дзем" + } ; + P2 => table { + Sg => base_1+"дзеш" ; + Pl => base_1+"дзеце" + } ; + P3 => table { + Sg => base_1+"дзе" ; + Pl => base_1+"дуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзь" ; + Pl => base_1+"дзьце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } + } + }; + _ => error "Can't apply paradigm mkV054" + } ; + +mkV055 : Str -> V ; +mkV055 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => "будзем "+base_1+"ць" + } ; + P2 => table { + Sg => "будзеш "+base_1+"ць" ; + Pl => "будзеце "+base_1+"ць" + } ; + P3 => table { + Sg => "будзе "+base_1+"ць" ; + Pl => "будуць "+base_1+"ць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ты" + } + } + }; + _ => error "Can't apply paradigm mkV055" + } ; + +mkV056 : Str -> V ; +mkV056 base = + case base of { + base_1+"есці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"есці" ; + Pl => base_1+"яцём" + } ; + P2 => table { + Sg => base_1+"яцеш" ; + Pl => base_1+"ецяце" + } ; + P3 => table { + Sg => base_1+"яце" ; + Pl => base_1+"ятуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"яці" ; + Pl => base_1+"яціце" + } ; + infinitive = base_1+"есці" ; + participle = table { + Masc => table { + Sg => base_1+"ёў" ; + Pl => base_1+"ялі" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"ялі" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ецены" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV056" + } ; + +mkV057 : Str -> V ; +mkV057 base = + case base of { + base_1+"а"+base_2@?+base_3@?+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+base_3+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+base_3+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+base_3 ; + Pl => base_1+"а"+base_2+base_3+"це" + } ; + infinitive = base_1+"а"+base_2+base_3+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+base_3+"ў" ; + Pl => base_1+"а"+base_2+base_3+"лі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+base_3+"ла" ; + Pl => base_1+"а"+base_2+base_3+"лі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+base_3+"ла" ; + Pl => base_1+"а"+base_2+base_3+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"ан"+base_3 + } + } + }; + _ => error "Can't apply paradigm mkV057" + } ; + +mkV058 : Str -> V ; +mkV058 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"е" ; --guessed + Pl => base_1+"юць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1 ; + Pl => base_1+"це" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ты" + } + } + }; + _ => error "Can't apply paradigm mkV058" + } ; + +mkV059 : Str -> V ; +mkV059 base = + case base of { + "даць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "dacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "даць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "дай" ; + Pl => "дайце" + } ; + infinitive = "даць" ; + participle = table { + Masc => table { + Sg => "даў" ; + Pl => "далі" + } ; + Fem => table { + Sg => "дала" ; + Pl => "далі" + } ; + Neuter => table { + Sg => "дало" ; + Pl => "далі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "дадзены" + } + } + }; + _ => error "Can't apply paradigm mkV059" + } ; + +mkV060 : Str -> V ; +mkV060 base = + case base of { + base_1+"ціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ціць" ; + Pl => base_1+"цім" + } ; + P2 => table { + Sg => base_1+"ціш" ; + Pl => base_1+"ціце" + } ; + P3 => table { + Sg => base_1+"ціць" ; + Pl => base_1+"цяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ць" ; + Pl => base_1+"цьце" + } ; + infinitive = base_1+"ціць" ; + participle = table { + Masc => table { + Sg => base_1+"ціў" ; + Pl => base_1+"цілі" + } ; + Fem => table { + Sg => base_1+"ціла" ; + Pl => base_1+"цілі" + } ; + Neuter => table { + Sg => base_1+"ціла" ; + Pl => base_1+"цілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чаны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"чаны" + } + } + }; + _ => error "Can't apply paradigm mkV060" + } ; + +mkV061 : Str -> V ; +mkV061 base = + case base of { + base_1+"яць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"імі" ; + Pl => base_1+"іміце" + } ; + infinitive = base_1+"яць" ; + participle = table { + Masc => table { + Sg => base_1+"яў" ; + Pl => base_1+"ялі" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"ялі" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"яты" + } + } + }; + _ => error "Can't apply paradigm mkV061" + } ; + +mkV062 : Str -> V ; +mkV062 base = + case base of { + base_1+"уць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => base_1+"ем" --guessed + } ; + P2 => table { + Sg => base_1+"еш" ; --guessed + Pl => base_1+"еце" --guessed + } ; + P3 => table { + Sg => base_1+"е" ; --guessed + Pl => base_1+"уць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"уць" ; + participle = table { + Masc => table { + Sg => base_1+"уў" ; + Pl => base_1+"улі" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } ; + Neuter => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ёны" + } + } + }; + _ => error "Can't apply paradigm mkV062" + } ; + +mkV063 : Str -> V ; +mkV063 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"е" ; --guessed + Pl => base_1+"юць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"нь" ; + Pl => base_1+"ньце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ты" + } + } + }; + _ => error "Can't apply paradigm mkV063" + } ; + +mkV064 : Str -> V ; +mkV064 base = + case base of { + base_1+"ыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"ым" + } ; + P2 => table { + Sg => base_1+"ыш" ; + Pl => base_1+"ыце" + } ; + P3 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ы" ; + Pl => base_1+"ыце" + } ; + infinitive = base_1+"ыць" ; + participle = table { + Masc => table { + Sg => base_1+"ыў" ; + Pl => base_1+"ылі" + } ; + Fem => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } ; + Neuter => table { + Sg => base_1+"ыла" ; + Pl => base_1+"ылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV064" + } ; + +mkV065 : Str -> V ; +mkV065 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзі" ; + Pl => base_1+"дзіце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"шаў" ; + Pl => base_1+"шлі" + } ; + Fem => table { + Sg => base_1+"шла" ; + Pl => base_1+"шлі" + } ; + Neuter => table { + Sg => base_1+"шла" ; + Pl => base_1+"шлі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV065" + } ; + +mkV066 : Str -> V ; +mkV066 base = + case base of { + base_1+"заць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"заць" ; + Pl => base_1+"жам" + } ; + P2 => table { + Sg => base_1+"жаш" ; + Pl => base_1+"жаце" + } ; + P3 => table { + Sg => base_1+"жа" ; + Pl => base_1+"жуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"заць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"жы" ; + Pl => base_1+"жыце" + } ; + infinitive = base_1+"заць" ; + participle = table { + Masc => table { + Sg => base_1+"заў" ; + Pl => base_1+"залі" + } ; + Fem => table { + Sg => base_1+"зала" ; + Pl => base_1+"залі" + } ; + Neuter => table { + Sg => base_1+"зала" ; + Pl => base_1+"залі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"заны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"заны" + } + } + }; + _ => error "Can't apply paradigm mkV066" + } ; + +mkV067 : Str -> V ; +mkV067 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } + } + }; + _ => error "Can't apply paradigm mkV067" + } ; + +mkV068 : Str -> V ; +mkV068 base = + case base of { + base_1+"ацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ацца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ацца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ніся" ; + Pl => base_1+"ніцеся" + } ; + infinitive = base_1+"ацца" ; + participle = table { + Masc => table { + Sg => base_1+"аўся" ; + Pl => base_1+"аліся" + } ; + Fem => table { + Sg => base_1+"алася" ; + Pl => base_1+"аліся" + } ; + Neuter => table { + Sg => base_1+"алося" ; + Pl => base_1+"аліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV068" + } ; + +mkV069 : Str -> V ; +mkV069 base = + case base of { + base_1+"ець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ець" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ець" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"ець" ; + participle = table { + Masc => table { + Sg => base_1+"еў" ; + Pl => base_1+"елі" + } ; + Fem => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } ; + Neuter => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV069" + } ; + +mkV070 : Str -> V ; +mkV070 base = + case base of { + base_1+base_2@?+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"це" + } ; + infinitive = base_1+base_2+"ць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ў" ; + Pl => base_1+base_2+"лі" + } ; + Fem => table { + Sg => base_1+base_2+"ла" ; + Pl => base_1+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+base_2+"ла" ; + Pl => base_1+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ан"+base_2 + } + } + }; + _ => error "Can't apply paradigm mkV070" + } ; + +mkV071 : Str -> V ; +mkV071 base = + case base of { + "мець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "mjecʹ" ; + Pl => "маем" + } ; + P2 => table { + Sg => "маеш" ; + Pl => "маеце" + } ; + P3 => table { + Sg => "мае" ; + Pl => "маюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "май" ; + Pl => "майце" + } ; + infinitive = "мець" ; + participle = table { + Masc => table { + Sg => "меў" ; + Pl => "мелі" + } ; + Fem => table { + Sg => "мела" ; + Pl => "мелі" + } ; + Neuter => table { + Sg => "мела" ; + Pl => "мелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV071" + } ; + +mkV072 : Str -> V ; +mkV072 base = + case base of { + base_1+"ячы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ячы" ; + Pl => base_1+"ячом" + } ; + P2 => table { + Sg => base_1+"ячэш" ; + Pl => base_1+"ечаце" + } ; + P3 => table { + Sg => base_1+"ячэ" ; + Pl => base_1+"якуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ячы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ячы" ; + Pl => base_1+"ячыце" + } ; + infinitive = base_1+"ячы" ; + participle = table { + Masc => table { + Sg => base_1+"ёк" ; + Pl => base_1+"яклі" + } ; + Fem => table { + Sg => base_1+"якла" ; + Pl => base_1+"яклі" + } ; + Neuter => table { + Sg => base_1+"якло" ; + Pl => base_1+"яклі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ечаны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ечаны" + } + } + }; + _ => error "Can't apply paradigm mkV072" + } ; + +mkV073 : Str -> V ; +mkV073 base = + case base of { + "плыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "plycʹ" ; + Pl => "плывём" + } ; + P2 => table { + Sg => "плывеш" ; + Pl => "плывяце" + } ; + P3 => table { + Sg => "плыве" ; + Pl => "плывуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "плыві" ; + Pl => "плывіце" + } ; + infinitive = "плыць" ; + participle = table { + Masc => table { + Sg => "плыў" ; + Pl => "плылі" + } ; + Fem => table { + Sg => "плыла" ; + Pl => "плылі" + } ; + Neuter => table { + Sg => "плыло" ; + Pl => "плылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV073" + } ; + +mkV074 : Str -> V ; +mkV074 base = + case base of { + base_1+"нуць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нуць" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"неце" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нуць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ні" ; + Pl => base_1+"ніце" + } ; + infinitive = base_1+"нуць" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV074" + } ; + +mkV075 : Str -> V ; +mkV075 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ш" ; + Pl => base_1+"шце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } + } + }; + _ => error "Can't apply paradigm mkV075" + } ; + +mkV076 : Str -> V ; +mkV076 base = + case base of { + base_1+base_2@?+"ціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2+"ці" ; + Pl => base_1+base_2+"ціце" + } ; + infinitive = base_1+base_2+"ціць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ціў" ; + Pl => base_1+base_2+"цілі" + } ; + Fem => table { + Sg => base_1+base_2+"ціла" ; + Pl => base_1+base_2+"цілі" + } ; + Neuter => table { + Sg => base_1+base_2+"ціла" ; + Pl => base_1+base_2+"цілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"оч"+base_2+"ны" + } + } + }; + _ => error "Can't apply paradigm mkV076" + } ; + +mkV077 : Str -> V ; +mkV077 base = + case base of { + base_1+"я"+base_2@?+"зець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"я"+base_2+"зець" ; + Pl => base_1+"я"+base_2+"зім" + } ; + P2 => table { + Sg => base_1+"я"+base_2+"зіш" ; + Pl => base_1+"е"+base_2+"зіце" + } ; + P3 => table { + Sg => base_1+"я"+base_2+"зіць" ; + Pl => base_1+"я"+base_2+"зяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"зі" ; + Pl => base_1+"я"+base_2+"зіце" + } ; + infinitive = base_1+"я"+base_2+"зець" ; + participle = table { + Masc => table { + Sg => base_1+"я"+base_2+"зеў" ; + Pl => base_1+"я"+base_2+"зелі" + } ; + Fem => table { + Sg => base_1+"я"+base_2+"зела" ; + Pl => base_1+"я"+base_2+"зелі" + } ; + Neuter => table { + Sg => base_1+"я"+base_2+"зела" ; + Pl => base_1+"я"+base_2+"зелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"жаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV077" + } ; + +mkV078 : Str -> V ; +mkV078 base = + case base of { + base_1+"сціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сціць" ; + Pl => base_1+"сцім" + } ; + P2 => table { + Sg => base_1+"сціш" ; + Pl => base_1+"сціце" + } ; + P3 => table { + Sg => base_1+"сціць" ; + Pl => base_1+"сцяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"сці" ; + Pl => base_1+"сціце" + } ; + infinitive = base_1+"сціць" ; + participle = table { + Masc => table { + Sg => base_1+"сціў" ; + Pl => base_1+"сцілі" + } ; + Fem => table { + Sg => base_1+"сціла" ; + Pl => base_1+"сцілі" + } ; + Neuter => table { + Sg => base_1+"сціла" ; + Pl => base_1+"сцілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"шчаны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"шчаны" + } + } + }; + _ => error "Can't apply paradigm mkV078" + } ; + +mkV079 : Str -> V ; +mkV079 base = + case base of { + base_1+"я"+base_2@?+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"я"+base_2+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"я"+base_2+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"я"+base_2+"іце" + } ; + infinitive = base_1+"я"+base_2+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"я"+base_2+"іў" ; + Pl => base_1+"я"+base_2+"ілі" + } ; + Fem => table { + Sg => base_1+"я"+base_2+"іла" ; + Pl => base_1+"я"+base_2+"ілі" + } ; + Neuter => table { + Sg => base_1+"я"+base_2+"іла" ; + Pl => base_1+"я"+base_2+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV079" + } ; + +mkV080 : Str -> V ; +mkV080 base = + case base of { + base_1+"цца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"цца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"нься" ; + Pl => base_1+"ньцеся" + } ; + infinitive = base_1+"цца" ; + participle = table { + Masc => table { + Sg => base_1+"ўся" ; + Pl => base_1+"ліся" + } ; + Fem => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } ; + Neuter => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV080" + } ; + +mkV081 : Str -> V ; +mkV081 base = + case base of { + "ўмець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ŭmjecʹ" ; + Pl => "ўмеем" + } ; + P2 => table { + Sg => "ўмееш" ; + Pl => "ўмееце" + } ; + P3 => table { + Sg => "ўмее" ; + Pl => "ўмеюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ўмей" ; + Pl => "ўмейце" + } ; + infinitive = "ўмець" ; + participle = table { + Masc => table { + Sg => "ўмеў" ; + Pl => "ўмелі" + } ; + Fem => table { + Sg => "ўмела" ; + Pl => "ўмелі" + } ; + Neuter => table { + Sg => "ўмела" ; + Pl => "ўмелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV081" + } ; + +mkV082 : Str -> V ; +mkV082 base = + case base of { + base_1+"ацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ацца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ацца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"іся" ; + Pl => base_1+"іцеся" + } ; + infinitive = base_1+"ацца" ; + participle = table { + Masc => table { + Sg => base_1+"аўся" ; + Pl => base_1+"аліся" + } ; + Fem => table { + Sg => base_1+"алася" ; + Pl => base_1+"аліся" + } ; + Neuter => table { + Sg => base_1+"алася" ; + Pl => base_1+"аліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV082" + } ; + +mkV083 : Str -> V ; +mkV083 base = + case base of { + base_1+"а"+base_2@?+"ацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ацца" ; + Pl => base_1+"о"+base_2+"імся" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"ішся" ; + Pl => base_1+"о"+base_2+"іцеся" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"іцца" ; + Pl => base_1+"о"+base_2+"яцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"іся" ; + Pl => base_1+"а"+base_2+"іцеся" + } ; + infinitive = base_1+"а"+base_2+"ацца" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"аўся" ; + Pl => base_1+"а"+base_2+"аліся" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"алася" ; + Pl => base_1+"а"+base_2+"аліся" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"алася" ; + Pl => base_1+"а"+base_2+"аліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV083" + } ; + +mkV084 : Str -> V ; +mkV084 base = + case base of { + base_1+"яваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яваць" ; + Pl => base_1+"юём" + } ; + P2 => table { + Sg => base_1+"юеш" ; + Pl => base_1+"юяце" + } ; + P3 => table { + Sg => base_1+"юе" ; + Pl => base_1+"ююць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яваць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйце" + } ; + infinitive = base_1+"яваць" ; + participle = table { + Masc => table { + Sg => base_1+"яваў" ; + Pl => base_1+"явалі" + } ; + Fem => table { + Sg => base_1+"явала" ; + Pl => base_1+"явалі" + } ; + Neuter => table { + Sg => base_1+"явала" ; + Pl => base_1+"явалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"яваны" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV084" + } ; + +mkV085 : Str -> V ; +mkV085 base = + case base of { + "біць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "bicʹ" ; + Pl => "б'ём" + } ; + P2 => table { + Sg => "б'еш" ; + Pl => "б'яце" + } ; + P3 => table { + Sg => "б'е" ; + Pl => "б'юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "бі" ; + Pl => "біце" + } ; + infinitive = "біць" ; + participle = table { + Masc => table { + Sg => "біў" ; + Pl => "білі" + } ; + Fem => table { + Sg => "біла" ; + Pl => "білі" + } ; + Neuter => table { + Sg => "біла" ; + Pl => "білі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "біты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV085" + } ; + +mkV086 : Str -> V ; +mkV086 base = + case base of { + base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => base_1+"ом" + } ; + P2 => table { + Sg => base_1+"эш" ; + Pl => base_1+"аце" + } ; + P3 => table { + Sg => base_1+"э" ; + Pl => base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ы" ; + Pl => base_1+"ыце" + } ; + infinitive = base_1+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"аў" ; + Pl => base_1+"алі" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } ; + Neuter => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV086" + } ; + +mkV087 : Str -> V ; +mkV087 base = + case base of { + base_1+"ыцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"ыцца" ; + Pl => base_1+"ацца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ся" ; + Pl => base_1+"цеся" + } ; + infinitive = base_1+"ыцца" ; + participle = table { + Masc => table { + Sg => base_1+"ыўся" ; + Pl => base_1+"ыліся" + } ; + Fem => table { + Sg => base_1+"ылася" ; + Pl => base_1+"ыліся" + } ; + Neuter => table { + Sg => base_1+"ылася" ; + Pl => base_1+"ыліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV087" + } ; + +mkV088 : Str -> V ; +mkV088 base = + case base of { + "са"+base_1+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "са"+base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "са"+base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "з"+base_1+"я"+base_2+"ы" ; + Pl => "з"+base_1+"я"+base_2+"ыце" + } ; + infinitive = "са"+base_1+base_2+"аць" ; + participle = table { + Masc => table { + Sg => "са"+base_1+base_2+"аў" ; + Pl => "са"+base_1+base_2+"алі" + } ; + Fem => table { + Sg => "са"+base_1+base_2+"ала" ; + Pl => "са"+base_1+base_2+"алі" + } ; + Neuter => table { + Sg => "са"+base_1+base_2+"ала" ; + Pl => "са"+base_1+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "са"+base_1+base_2+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV088" + } ; + +mkV089 : Str -> V ; +mkV089 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ві" ; + Pl => base_1+"віце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ты" + } + } + }; + _ => error "Can't apply paradigm mkV089" + } ; + +mkV090 : Str -> V ; +mkV090 base = + case base of { + "гнаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "hnacʹ" ; + Pl => "гонім" + } ; + P2 => table { + Sg => "гоніш" ; + Pl => "гоніце" + } ; + P3 => table { + Sg => "гоніць" ; + Pl => "гоняць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "гані" ; + Pl => "ганіце" + } ; + infinitive = "гнаць" ; + participle = table { + Masc => table { + Sg => "гнаў" ; + Pl => "гналі" + } ; + Fem => table { + Sg => "гнала" ; + Pl => "гналі" + } ; + Neuter => table { + Sg => "гнала" ; + Pl => "гналі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "гнаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV090" + } ; + +mkV091 : Str -> V ; +mkV091 base = + case base of { + "ўжыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ŭžycʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ўжыць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ўжыві" ; + Pl => "ўжывіце" + } ; + infinitive = "ўжыць" ; + participle = table { + Masc => table { + Sg => "ўжыў" ; + Pl => "ўжылі" + } ; + Fem => table { + Sg => "ўжыла" ; + Pl => "ўжылі" + } ; + Neuter => table { + Sg => "ўжыло" ; + Pl => "ўжылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "ўжыты" + } + } + }; + _ => error "Can't apply paradigm mkV091" + } ; + +mkV092 : Str -> V ; +mkV092 base = + case base of { + base_1+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ці" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"еце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьце" + } ; + infinitive = base_1+"ці" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV092" + } ; + +mkV093 : Str -> V ; +mkV093 base = + case base of { + base_1+base_2@?+"яцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"яцца" ; + Pl => base_1+base_2+"ёмся" + } ; + P2 => table { + Sg => base_1+base_2+"ешся" ; + Pl => base_1+"е"+base_2+"цеся" + } ; + P3 => table { + Sg => base_1+base_2+"ецца" ; + Pl => base_1+base_2+"юцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ейс"+base_2 ; + Pl => base_1+"ейцес"+base_2 + } ; + infinitive = base_1+base_2+"яцца" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"яўся" ; + Pl => base_1+base_2+"яліся" + } ; + Fem => table { + Sg => base_1+base_2+"ялася" ; + Pl => base_1+base_2+"яліся" + } ; + Neuter => table { + Sg => base_1+base_2+"ялася" ; + Pl => base_1+base_2+"яліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV093" + } ; + +mkV094 : Str -> V ; +mkV094 base = + case base of { + "слаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "slacʹ" ; + Pl => "шлём" + } ; + P2 => table { + Sg => "шлеш" ; + Pl => "шляце" + } ; + P3 => table { + Sg => "шле" ; + Pl => "шлюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "шлі" ; + Pl => "шліце" + } ; + infinitive = "слаць" ; + participle = table { + Masc => table { + Sg => "слаў" ; + Pl => "слалі" + } ; + Fem => table { + Sg => "слала" ; + Pl => "слалі" + } ; + Neuter => table { + Sg => "слала" ; + Pl => "слалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "сланы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV094" + } ; + +mkV095 : Str -> V ; +mkV095 base = + case base of { + "слаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "slacʹ" ; + Pl => "сцелем" + } ; + P2 => table { + Sg => "сцелеш" ; + Pl => "сцелеце" + } ; + P3 => table { + Sg => "сцеле" ; + Pl => "сцелюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "сцялі" ; + Pl => "сцяліце" + } ; + infinitive = "слаць" ; + participle = table { + Masc => table { + Sg => "слаў" ; + Pl => "слалі" + } ; + Fem => table { + Sg => "слала" ; + Pl => "слалі" + } ; + Neuter => table { + Sg => "слала" ; + Pl => "слалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "сланы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV095" + } ; + +mkV096 : Str -> V ; +mkV096 base = + case base of { + base_1+"а"+base_2@?+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"іў" ; + Pl => base_1+"а"+base_2+"ілі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"іла" ; + Pl => base_1+"а"+base_2+"ілі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"іла" ; + Pl => base_1+"а"+base_2+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV096" + } ; + +mkV097 : Str -> V ; +mkV097 base = + case base of { + "я"+base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "я"+base_1+"аць" ; + Pl => "я"+base_1+"ём" + } ; + P2 => table { + Sg => "я"+base_1+"еш" ; + Pl => "е"+base_1+"яце" + } ; + P3 => table { + Sg => "я"+base_1+"е" ; + Pl => "я"+base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "я"+base_1+"і" ; + Pl => "я"+base_1+"іце" + } ; + infinitive = "я"+base_1+"аць" ; + participle = table { + Masc => table { + Sg => "я"+base_1+"аў" ; + Pl => "я"+base_1+"алі" + } ; + Fem => table { + Sg => "я"+base_1+"ала" ; + Pl => "я"+base_1+"алі" + } ; + Neuter => table { + Sg => "я"+base_1+"ала" ; + Pl => "я"+base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "я"+base_1+"аны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV097" + } ; + +mkV098 : Str -> V ; +mkV098 base = + case base of { + "ўстаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ŭstacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ўстаць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ўстань" ; + Pl => "ўстаньце" + } ; + infinitive = "ўстаць" ; + participle = table { + Masc => table { + Sg => "ўстаў" ; + Pl => "ўсталі" + } ; + Fem => table { + Sg => "ўстала" ; + Pl => "ўсталі" + } ; + Neuter => table { + Sg => "ўстала" ; + Pl => "ўсталі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV098" + } ; + +mkV099 : Str -> V ; +mkV099 base = + case base of { + base_1+"есці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"есці" ; + Pl => base_1+"ядзём" + } ; + P2 => table { + Sg => base_1+"ядзеш" ; + Pl => base_1+"едзяце" + } ; + P3 => table { + Sg => base_1+"ядзе" ; + Pl => base_1+"ядуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"есці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ядзі" ; + Pl => base_1+"ядзіце" + } ; + infinitive = base_1+"есці" ; + participle = table { + Masc => table { + Sg => base_1+"ёў" ; + Pl => base_1+"ялі" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"ялі" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"едзены" + } + } + }; + _ => error "Can't apply paradigm mkV099" + } ; + +mkV100 : Str -> V ; +mkV100 base = + case base of { + base_1+"с"+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"с"+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"с"+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ш"+base_2+"і" ; + Pl => base_1+"ш"+base_2+"іце" + } ; + infinitive = base_1+"с"+base_2+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"с"+base_2+"аў" ; + Pl => base_1+"с"+base_2+"алі" + } ; + Fem => table { + Sg => base_1+"с"+base_2+"ала" ; + Pl => base_1+"с"+base_2+"алі" + } ; + Neuter => table { + Sg => base_1+"с"+base_2+"ала" ; + Pl => base_1+"с"+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"с"+base_2+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV100" + } ; + +mkV101 : Str -> V ; +mkV101 base = + case base of { + base_1+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"це"+base_2+"і" ; + Pl => base_1+"це"+base_2+"іце" + } ; + infinitive = base_1+base_2+"аць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"аў" ; + Pl => base_1+base_2+"алі" + } ; + Fem => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"алі" + } ; + Neuter => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV101" + } ; + +mkV102 : Str -> V ; +mkV102 base = + case base of { + base_1+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+base_2+"аць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"аў" ; + Pl => base_1+base_2+"алі" + } ; + Fem => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"алі" + } ; + Neuter => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV102" + } ; + +mkV103 : Str -> V ; +mkV103 base = + case base of { + base_1+"уцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"іся" ; + Pl => base_1+"іцеся" + } ; + infinitive = base_1+"уцца" ; + participle = table { + Masc => table { + Sg => base_1+"уўся" ; + Pl => base_1+"уліся" + } ; + Fem => table { + Sg => base_1+"улася" ; + Pl => base_1+"уліся" + } ; + Neuter => table { + Sg => base_1+"улася" ; + Pl => base_1+"уліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV103" + } ; + +mkV104 : Str -> V ; +mkV104 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => "будзем "+base_1+"ць" --guessed + } ; + P2 => table { + Sg => "будзеш "+base_1+"ць" ; --guessed + Pl => "будзеце "+base_1+"ць" --guessed + } ; + P3 => table { + Sg => "будзе "+base_1+"ць" ; --guessed + Pl => "будуць "+base_1+"ць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ны" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дзены" + } + } + }; + _ => error "Can't apply paradigm mkV104" + } ; + +mkV105 : Str -> V ; +mkV105 base = + case base of { + "пазнаёміць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "paznajómicʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "пазнаёміць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "пазнаёмь" ; + Pl => "пазнаёмьце" + } ; + infinitive = "пазнаёміць" ; + participle = table { + Masc => table { + Sg => "пазнаёміў" ; + Pl => "пазнаёмілі" + } ; + Fem => table { + Sg => "пазнаёміла" ; + Pl => "пазнаёмілі" + } ; + Neuter => table { + Sg => "пазнаёміла" ; + Pl => "пазнаёмілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "пазнаёмлены" + } + } + }; + _ => error "Can't apply paradigm mkV105" + } ; + +mkV106 : Str -> V ; +mkV106 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" --guessed + } ; + P2 => table { + Sg => base_1+"іш" ; --guessed + Pl => base_1+"іце" --guessed + } ; + P3 => table { + Sg => base_1+"іць" ; --guessed + Pl => base_1+"яць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лены" + } + } + }; + _ => error "Can't apply paradigm mkV106" + } ; + +mkV107 : Str -> V ; +mkV107 base = + case base of { + "знаёміць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "znajómicʹ" ; + Pl => "знаёмім" + } ; + P2 => table { + Sg => "знаёміш" ; + Pl => "знаёміце" + } ; + P3 => table { + Sg => "знаёміць" ; + Pl => "знаёмяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "знаёмь" ; + Pl => "знаёмьце" + } ; + infinitive = "знаёміць" ; + participle = table { + Masc => table { + Sg => "знаёміў" ; + Pl => "знаёмілі" + } ; + Fem => table { + Sg => "знаёміла" ; + Pl => "знаёмілі" + } ; + Neuter => table { + Sg => "знаёміла" ; + Pl => "знаёмілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV107" + } ; + +mkV108 : Str -> V ; +mkV108 base = + case base of { + "ўчуць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ŭčucʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ўчуць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ўчуй" ; + Pl => "ўчуйце" + } ; + infinitive = "ўчуць" ; + participle = table { + Masc => table { + Sg => "ўчуў" ; + Pl => "ўчулі" + } ; + Fem => table { + Sg => "ўчула" ; + Pl => "ўчулі" + } ; + Neuter => table { + Sg => "ўчула" ; + Pl => "ўчулі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "ўчуты" + } + } + }; + _ => error "Can't apply paradigm mkV108" + } ; + +mkV109 : Str -> V ; +mkV109 base = + case base of { + base_1+"зець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зець" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зець" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"зь" ; + Pl => base_1+"зьце" + } ; + infinitive = base_1+"зець" ; + participle = table { + Masc => table { + Sg => base_1+"зеў" ; + Pl => base_1+"зелі" + } ; + Fem => table { + Sg => base_1+"зела" ; + Pl => base_1+"зелі" + } ; + Neuter => table { + Sg => base_1+"зела" ; + Pl => base_1+"зелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жаны" + } + } + }; + _ => error "Can't apply paradigm mkV109" + } ; + +mkV110 : Str -> V ; +mkV110 base = + case base of { + base_1+base_2@?+"рціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"рціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"рціць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2+"рці" ; + Pl => base_1+base_2+"рціце" + } ; + infinitive = base_1+base_2+"рціць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"рціў" ; + Pl => base_1+base_2+"рцілі" + } ; + Fem => table { + Sg => base_1+base_2+"рціла" ; + Pl => base_1+base_2+"рцілі" + } ; + Neuter => table { + Sg => base_1+base_2+"рціла" ; + Pl => base_1+base_2+"рцілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"эрч"+base_2+"ны" + } + } + }; + _ => error "Can't apply paradigm mkV110" + } ; + +mkV111 : Str -> V ; +mkV111 base = + case base of { + base_1+"а"+base_2@?+"ціць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ціць" ; + Pl => base_1+"э"+base_2+"цім" + } ; + P2 => table { + Sg => base_1+"э"+base_2+"ціш" ; + Pl => base_1+"э"+base_2+"ціце" + } ; + P3 => table { + Sg => base_1+"э"+base_2+"ціць" ; + Pl => base_1+"э"+base_2+"цяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"ці" ; + Pl => base_1+"а"+base_2+"ціце" + } ; + infinitive = base_1+"а"+base_2+"ціць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"ціў" ; + Pl => base_1+"а"+base_2+"цілі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ціла" ; + Pl => base_1+"а"+base_2+"цілі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ціла" ; + Pl => base_1+"а"+base_2+"цілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"э"+base_2+"чаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV111" + } ; + +mkV112 : Str -> V ; +mkV112 base = + case base of { + base_1+base_2@?+"р"+base_3@?+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"р"+base_3+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"р"+base_3+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2+"р"+base_3 ; + Pl => base_1+base_2+"р"+base_3+"це" + } ; + infinitive = base_1+base_2+"р"+base_3+"ць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"р"+base_3+"ў" ; + Pl => base_1+base_2+"р"+base_3+"лі" + } ; + Fem => table { + Sg => base_1+base_2+"р"+base_3+"ла" ; + Pl => base_1+base_2+"р"+base_3+"лі" + } ; + Neuter => table { + Sg => base_1+base_2+"р"+base_3+"ла" ; + Pl => base_1+base_2+"р"+base_3+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ор"+base_2+"н"+base_3 + } + } + }; + _ => error "Can't apply paradigm mkV112" + } ; + +mkV113 : Str -> V ; +mkV113 base = + case base of { + base_1+"ыцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыцца" ; + Pl => base_1+"ымся" + } ; + P2 => table { + Sg => base_1+"ышся" ; + Pl => base_1+"ыцеся" + } ; + P3 => table { + Sg => base_1+"ыцца" ; + Pl => base_1+"ацца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ыся" ; + Pl => base_1+"ыцеся" + } ; + infinitive = base_1+"ыцца" ; + participle = table { + Masc => table { + Sg => base_1+"ыўся" ; + Pl => base_1+"ыліся" + } ; + Fem => table { + Sg => base_1+"ылася" ; + Pl => base_1+"ыліся" + } ; + Neuter => table { + Sg => base_1+"ылася" ; + Pl => base_1+"ыліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV113" + } ; + +mkV114 : Str -> V ; +mkV114 base = + case base of { + "ліць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "licʹ" ; + Pl => "льём" + } ; + P2 => table { + Sg => "льеш" ; + Pl => "льяце" + } ; + P3 => table { + Sg => "лье" ; + Pl => "льюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "лі" ; + Pl => "ліце" + } ; + infinitive = "ліць" ; + participle = table { + Masc => table { + Sg => "ліў" ; + Pl => "лілі" + } ; + Fem => table { + Sg => "ліла" ; + Pl => "лілі" + } ; + Neuter => table { + Sg => "ліло" ; + Pl => "лілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "літы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV114" + } ; + +mkV115 : Str -> V ; +mkV115 base = + case base of { + base_1@("см"|?)+"я"+base_2+"ець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"я"+base_2+"ець" ; + Pl => base_1+"я"+base_2+"ім" + } ; + P2 => table { + Sg => base_1+"я"+base_2+"іш" ; + Pl => base_1+"е"+base_2+"іце" + } ; + P3 => table { + Sg => base_1+"я"+base_2+"іць" ; + Pl => base_1+"я"+base_2+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"і" ; + Pl => base_1+"я"+base_2+"іце" + } ; + infinitive = base_1+"я"+base_2+"ець" ; + participle = table { + Masc => table { + Sg => base_1+"я"+base_2+"еў" ; + Pl => base_1+"я"+base_2+"елі" + } ; + Fem => table { + Sg => base_1+"я"+base_2+"ела" ; + Pl => base_1+"я"+base_2+"елі" + } ; + Neuter => table { + Sg => base_1+"я"+base_2+"ела" ; + Pl => base_1+"я"+base_2+"елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV115" + } ; + +mkV116 : Str -> V ; +mkV116 base = + case base of { + base_1+"а"+base_2@?+"таць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"таць" ; + Pl => base_1+"о"+base_2+"чам" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"чаш" ; + Pl => base_1+"о"+base_2+"чаце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"ча" ; + Pl => base_1+"о"+base_2+"чуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"чы" ; + Pl => base_1+"а"+base_2+"чыце" + } ; + infinitive = base_1+"а"+base_2+"таць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"таў" ; + Pl => base_1+"а"+base_2+"талі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"тала" ; + Pl => base_1+"а"+base_2+"талі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"тала" ; + Pl => base_1+"а"+base_2+"талі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV116" + } ; + +mkV117 : Str -> V ; +mkV117 base = + case base of { + base_1+"а"+base_2@?+"оць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"оць" ; + Pl => base_1+"о"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"еш" ; + Pl => base_1+"о"+base_2+"еце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"оць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"оў" ; + Pl => base_1+"а"+base_2+"олі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ола" ; + Pl => base_1+"а"+base_2+"олі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ола" ; + Pl => base_1+"а"+base_2+"олі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"аты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV117" + } ; + +mkV118 : Str -> V ; +mkV118 base = + case base of { + base_1+"я"+base_2@?+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"я"+base_2+"аць" ; + Pl => base_1+"я"+base_2+"ым" + } ; + P2 => table { + Sg => base_1+"я"+base_2+"ыш" ; + Pl => base_1+"е"+base_2+"ыце" + } ; + P3 => table { + Sg => base_1+"я"+base_2+"ыць" ; + Pl => base_1+"я"+base_2+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"я"+base_2+"ы" ; + Pl => base_1+"я"+base_2+"ыце" + } ; + infinitive = base_1+"я"+base_2+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"я"+base_2+"аў" ; + Pl => base_1+"я"+base_2+"алі" + } ; + Fem => table { + Sg => base_1+"я"+base_2+"ала" ; + Pl => base_1+"я"+base_2+"алі" + } ; + Neuter => table { + Sg => base_1+"я"+base_2+"ала" ; + Pl => base_1+"я"+base_2+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV118" + } ; + +mkV119 : Str -> V ; +mkV119 base = + case base of { + base_1+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1 ; + Pl => base_1+"це" + } ; + infinitive = base_1+"ць" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ты" + } + } + }; + _ => error "Can't apply paradigm mkV119" + } ; + +mkV120 : Str -> V ; +mkV120 base = + case base of { + base_1+"яваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яваць" ; + Pl => base_1+"юем" + } ; + P2 => table { + Sg => base_1+"юеш" ; + Pl => base_1+"юеце" + } ; + P3 => table { + Sg => base_1+"юе" ; + Pl => base_1+"ююць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйце" + } ; + infinitive = base_1+"яваць" ; + participle = table { + Masc => table { + Sg => base_1+"яваў" ; + Pl => base_1+"явалі" + } ; + Fem => table { + Sg => base_1+"явала" ; + Pl => base_1+"явалі" + } ; + Neuter => table { + Sg => base_1+"явала" ; + Pl => base_1+"явалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"яваны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV120" + } ; + +mkV121 : Str -> V ; +mkV121 base = + case base of { + "дзьмуць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "dzʹmucʹ" ; + Pl => "дзьмём" + } ; + P2 => table { + Sg => "дзьмеш" ; + Pl => "дзьмяце" + } ; + P3 => table { + Sg => "дзьме" ; + Pl => "дзьмуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "дзьмі" ; + Pl => "дзьміце" + } ; + infinitive = "дзьмуць" ; + participle = table { + Masc => table { + Sg => "дзьмуў" ; + Pl => "дзьмулі" + } ; + Fem => table { + Sg => "дзьмула" ; + Pl => "дзьмулі" + } ; + Neuter => table { + Sg => "дзьмула" ; + Pl => "дзьмулі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV121" + } ; + +mkV122 : Str -> V ; +mkV122 base = + case base of { + "шыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "šycʹ" ; + Pl => "шыем" + } ; + P2 => table { + Sg => "шыеш" ; + Pl => "шыеце" + } ; + P3 => table { + Sg => "шые" ; + Pl => "шыюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "шый" ; + Pl => "шыйце" + } ; + infinitive = "шыць" ; + participle = table { + Masc => table { + Sg => "шыў" ; + Pl => "шылі" + } ; + Fem => table { + Sg => "шыла" ; + Pl => "шылі" + } ; + Neuter => table { + Sg => "шыла" ; + Pl => "шылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "шыты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV122" + } ; + +mkV123 : Str -> V ; +mkV123 base = + case base of { + "рыць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "rycʹ" ; + Pl => "рыем" + } ; + P2 => table { + Sg => "рыеш" ; + Pl => "рыеце" + } ; + P3 => table { + Sg => "рые" ; + Pl => "рыюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "рый" ; + Pl => "рыйце" + } ; + infinitive = "рыць" ; + participle = table { + Masc => table { + Sg => "рыў" ; + Pl => "рылі" + } ; + Fem => table { + Sg => "рыла" ; + Pl => "рылі" + } ; + Neuter => table { + Sg => "рыла" ; + Pl => "рылі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "рыты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV123" + } ; + +mkV124 : Str -> V ; +mkV124 base = + case base of { + "па"+base_1+"яць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "па"+base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "па"+base_1+"яць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ні" ; + Pl => base_1+"ніце" + } ; + infinitive = "па"+base_1+"яць" ; + participle = table { + Masc => table { + Sg => "па"+base_1+"яў" ; + Pl => "па"+base_1+"ялі" + } ; + Fem => table { + Sg => "па"+base_1+"яла" ; + Pl => "па"+base_1+"ялі" + } ; + Neuter => table { + Sg => "па"+base_1+"яла" ; + Pl => "па"+base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "па"+base_1+"яты" + } + } + }; + _ => error "Can't apply paradigm mkV124" + } ; + +mkV125 : Str -> V ; +mkV125 base = + case base of { + base_1+"гаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гаць" ; + Pl => base_1+"жом" + } ; + P2 => table { + Sg => base_1+"жэш" ; + Pl => base_1+"жаце" + } ; + P3 => table { + Sg => base_1+"жэ" ; + Pl => base_1+"гуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гаць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"жы" ; + Pl => base_1+"жыце" + } ; + infinitive = base_1+"гаць" ; + participle = table { + Masc => table { + Sg => base_1+"гаў" ; + Pl => base_1+"галі" + } ; + Fem => table { + Sg => base_1+"гала" ; + Pl => base_1+"галі" + } ; + Neuter => table { + Sg => base_1+"гала" ; + Pl => base_1+"галі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV125" + } ; + +mkV126 : Str -> V ; +mkV126 base = + case base of { + base_1+base_2@?+"дзіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"дзіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"дзіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2+"дзі" ; + Pl => base_1+base_2+"дзіце" + } ; + infinitive = base_1+base_2+"дзіць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"дзіў" ; + Pl => base_1+base_2+"дзілі" + } ; + Fem => table { + Sg => base_1+base_2+"дзіла" ; + Pl => base_1+base_2+"дзілі" + } ; + Neuter => table { + Sg => base_1+base_2+"дзіла" ; + Pl => base_1+base_2+"дзілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"одж"+base_2+"ны" + } + } + }; + _ => error "Can't apply paradigm mkV126" + } ; + +mkV127 : Str -> V ; +mkV127 base = + case base of { + "джгаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "džhacʹ" ; + Pl => "джгаем" + } ; + P2 => table { + Sg => "джгаеш" ; + Pl => "джгаеце" + } ; + P3 => table { + Sg => "джгае" ; + Pl => "джгаюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "джгай" ; + Pl => "джгайце" + } ; + infinitive = "джгаць" ; + participle = table { + Masc => table { + Sg => "джгаў" ; + Pl => "джгалі" + } ; + Fem => table { + Sg => "джгала" ; + Pl => "джгалі" + } ; + Neuter => table { + Sg => "джгала" ; + Pl => "джгалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV127" + } ; + +mkV128 : Str -> V ; +mkV128 base = + case base of { + base_1+"яць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яць" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"еце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"юць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"яць" ; + participle = table { + Masc => table { + Sg => base_1+"яў" ; + Pl => base_1+"ялі" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"ялі" + } ; + Neuter => table { + Sg => base_1+"яла" ; + Pl => base_1+"ялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"яны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV128" + } ; + +mkV129 : Str -> V ; +mkV129 base = + case base of { + "ссаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ssacʹ" ; + Pl => "ссём" + } ; + P2 => table { + Sg => "ссеш" ; + Pl => "ссяце" + } ; + P3 => table { + Sg => "ссе" ; + Pl => "ссуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ссі" ; + Pl => "ссіце" + } ; + infinitive = "ссаць" ; + participle = table { + Masc => table { + Sg => "ссаў" ; + Pl => "ссалі" + } ; + Fem => table { + Sg => "ссала" ; + Pl => "ссалі" + } ; + Neuter => table { + Sg => "ссала" ; + Pl => "ссалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV129" + } ; + +mkV130 : Str -> V ; +mkV130 base = + case base of { + base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => base_1+"ым" + } ; + P2 => table { + Sg => base_1+"ыш" ; + Pl => base_1+"ыце" + } ; + P3 => table { + Sg => base_1+"ыць" ; + Pl => base_1+"аць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ы" ; + Pl => base_1+"ыце" + } ; + infinitive = base_1+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"аў" ; + Pl => base_1+"алі" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } ; + Neuter => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV130" + } ; + +mkV131 : Str -> V ; +mkV131 base = + case base of { + base_1+"егчы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егчы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егчы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"яж" ; + Pl => base_1+"яжце" + } ; + infinitive = base_1+"егчы" ; + participle = table { + Masc => table { + Sg => base_1+"ёг" ; + Pl => base_1+"яглі" + } ; + Fem => table { + Sg => base_1+"ягла" ; + Pl => base_1+"яглі" + } ; + Neuter => table { + Sg => base_1+"ягло" ; + Pl => base_1+"яглі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV131" + } ; + +mkV132 : Str -> V ; +mkV132 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => base_1+"вём" + } ; + P2 => table { + Sg => base_1+"веш" ; + Pl => base_1+"вяце" + } ; + P3 => table { + Sg => base_1+"ве" ; + Pl => base_1+"вуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ві" ; + Pl => base_1+"віце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV132" + } ; + +mkV133 : Str -> V ; +mkV133 base = + case base of { + base_1+"е"+base_2@?+"агчы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"агчы" ; + Pl => base_1+"е"+base_2+"ажом" + } ; + P2 => table { + Sg => base_1+"е"+base_2+"ажэш" ; + Pl => base_1+"е"+base_2+"ажаце" + } ; + P3 => table { + Sg => base_1+"е"+base_2+"ажэ" ; + Pl => base_1+"е"+base_2+"агуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"агчы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"е"+base_2+"ажы" ; + Pl => base_1+"е"+base_2+"ажыце" + } ; + infinitive = base_1+"е"+base_2+"агчы" ; + participle = table { + Masc => table { + Sg => base_1+"я"+base_2+"ог" ; + Pl => base_1+"е"+base_2+"аглі" + } ; + Fem => table { + Sg => base_1+"е"+base_2+"агла" ; + Pl => base_1+"е"+base_2+"аглі" + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"агло" ; + Pl => base_1+"е"+base_2+"аглі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ажоны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ажоны" + } + } + }; + _ => error "Can't apply paradigm mkV133" + } ; + +mkV134 : Str -> V ; +mkV134 base = + case base of { + base_1+"а"+base_2@(?+?)+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ці" ; + Pl => base_1+"а"+base_2+"ём" + } ; + P2 => table { + Sg => base_1+"а"+base_2+"еш" ; + Pl => base_1+"а"+base_2+"яце" + } ; + P3 => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"а"+base_2+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"ці" ; + participle = table { + Masc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"лі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ла" ; + Pl => base_1+"а"+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ло" ; + Pl => base_1+"а"+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV134" + } ; + +mkV135 : Str -> V ; +mkV135 base = + case base of { + base_1+"а"+base_2@?+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"ці" ; + Pl => base_1+"а"+base_2+"цём" + } ; + P2 => table { + Sg => base_1+"а"+base_2+"цеш" ; + Pl => base_1+"а"+base_2+"цяце" + } ; + P3 => table { + Sg => base_1+"а"+base_2+"це" ; + Pl => base_1+"а"+base_2+"туць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"ці" ; + Pl => base_1+"а"+base_2+"ціце" + } ; + infinitive = base_1+"а"+base_2+"ці" ; + participle = table { + Masc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"а"+base_2+"лі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ла" ; + Pl => base_1+"а"+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ло" ; + Pl => base_1+"а"+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV135" + } ; + +mkV136 : Str -> V ; +mkV136 base = + case base of { + base_1+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ці" ; + Pl => base_1+"ём" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"яце" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"ці" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ены" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV136" + } ; + +mkV137 : Str -> V ; +mkV137 base = + case base of { + base_1+"э"+base_2@?+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"э"+base_2+"ці" ; + Pl => base_1+"а"+base_2+"ём" + } ; + P2 => table { + Sg => base_1+"а"+base_2+"еш" ; + Pl => base_1+"а"+base_2+"яце" + } ; + P3 => table { + Sg => base_1+"а"+base_2+"е" ; + Pl => base_1+"а"+base_2+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"э"+base_2+"ці" ; + participle = table { + Masc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"э"+base_2+"лі" + } ; + Fem => table { + Sg => base_1+"э"+base_2+"ла" ; + Pl => base_1+"э"+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+"э"+base_2+"ла" ; + Pl => base_1+"э"+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV137" + } ; + +mkV138 : Str -> V ; +mkV138 base = + case base of { + base_1+"есці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"есці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"есці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ядзь" ; + Pl => base_1+"ядзьце" + } ; + infinitive = base_1+"есці" ; + participle = table { + Masc => table { + Sg => base_1+"еў" ; + Pl => base_1+"елі" + } ; + Fem => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } ; + Neuter => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV138" + } ; + +mkV139 : Str -> V ; +mkV139 base = + case base of { + base_1+"віць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => base_1+"вім" + } ; + P2 => table { + Sg => base_1+"віш" ; + Pl => base_1+"віце" + } ; + P3 => table { + Sg => base_1+"віць" ; + Pl => base_1+"вяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ў" ; + Pl => base_1+"ўце" + } ; + infinitive = base_1+"віць" ; + participle = table { + Masc => table { + Sg => base_1+"віў" ; + Pl => base_1+"вілі" + } ; + Fem => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } ; + Neuter => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ўлены" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ўлены" + } + } + }; + _ => error "Can't apply paradigm mkV139" + } ; + +mkV140 : Str -> V ; +mkV140 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => base_1+"цём" + } ; + P2 => table { + Sg => base_1+"цеш" ; + Pl => base_1+"цяце" + } ; + P3 => table { + Sg => base_1+"це" ; + Pl => base_1+"туць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ці" ; + Pl => base_1+"ціце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV140" + } ; + +mkV141 : Str -> V ; +mkV141 base = + case base of { + base_1+"гчы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гчы" ; + Pl => base_1+"жом" + } ; + P2 => table { + Sg => base_1+"жэш" ; + Pl => base_1+"жаце" + } ; + P3 => table { + Sg => base_1+"жэ" ; + Pl => base_1+"гуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"жы" ; + Pl => base_1+"жыце" + } ; + infinitive = base_1+"гчы" ; + participle = table { + Masc => table { + Sg => base_1+"г" ; + Pl => base_1+"глі" + } ; + Fem => table { + Sg => base_1+"гла" ; + Pl => base_1+"глі" + } ; + Neuter => table { + Sg => base_1+"гла" ; + Pl => base_1+"глі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV141" + } ; + +mkV142 : Str -> V ; +mkV142 base = + case base of { + "це"+base_1+"ці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "це"+base_1+"ці" ; + Pl => "т"+base_1+"ом" + } ; + P2 => table { + Sg => "т"+base_1+"эш" ; + Pl => "т"+base_1+"аце" + } ; + P3 => table { + Sg => "т"+base_1+"э" ; + Pl => "т"+base_1+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "т"+base_1+"ы" ; + Pl => "т"+base_1+"ыце" + } ; + infinitive = "це"+base_1+"ці" ; + participle = table { + Masc => table { + Sg => "цё"+base_1 ; + Pl => "цё"+base_1+"лі" + } ; + Fem => table { + Sg => "цё"+base_1+"ла" ; + Pl => "цё"+base_1+"лі" + } ; + Neuter => table { + Sg => "цё"+base_1+"ла" ; + Pl => "цё"+base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "цё"+base_1+"ты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV142" + } ; + +mkV143 : Str -> V ; +mkV143 base = + case base of { + base_1+"егчы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егчы" ; + Pl => base_1+"яжым" + } ; + P2 => table { + Sg => base_1+"яжыш" ; + Pl => base_1+"яжыце" + } ; + P3 => table { + Sg => base_1+"яжыць" ; + Pl => base_1+"ягуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егчы" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"яжы" ; + Pl => base_1+"яжыце" + } ; + infinitive = base_1+"егчы" ; + participle = table { + Masc => table { + Sg => base_1+"ег" ; + Pl => base_1+"еглі" + } ; + Fem => table { + Sg => base_1+"егла" ; + Pl => base_1+"еглі" + } ; + Neuter => table { + Sg => base_1+"егла" ; + Pl => base_1+"еглі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV143" + } ; + +mkV144 : Str -> V ; +mkV144 base = + case base of { + base_1+"ачы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ачы" ; + Pl => base_1+"ачом" + } ; + P2 => table { + Sg => base_1+"ачэш" ; + Pl => base_1+"ачаце" + } ; + P3 => table { + Sg => base_1+"ачэ" ; + Pl => base_1+"акуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ачы" ; + Pl => base_1+"ачыце" + } ; + infinitive = base_1+"ачы" ; + participle = table { + Masc => table { + Sg => base_1+"ок" ; + Pl => base_1+"аклі" + } ; + Fem => table { + Sg => base_1+"акла" ; + Pl => base_1+"аклі" + } ; + Neuter => table { + Sg => base_1+"акло" ; + Pl => base_1+"аклі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV144" + } ; + +mkV145 : Str -> V ; +mkV145 base = + case base of { + base_1+"аць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => base_1+"ём" --guessed + } ; + P2 => table { + Sg => base_1+"еш" ; --guessed + Pl => base_1+"яце" --guessed + } ; + P3 => table { + Sg => base_1+"е" ; --guessed + Pl => base_1+"уць" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"аць" ; + participle = table { + Masc => table { + Sg => base_1+"аў" ; + Pl => base_1+"алі" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } ; + Neuter => table { + Sg => base_1+"ала" ; + Pl => base_1+"алі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аны" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аны" + } + } + }; + _ => error "Can't apply paradigm mkV145" + } ; + +mkV146 : Str -> V ; +mkV146 base = + case base of { + "лгаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "lhacʹ" ; + Pl => "лжом" + } ; + P2 => table { + Sg => "лжэш" ; + Pl => "лжаце" + } ; + P3 => table { + Sg => "лжэ" ; + Pl => "лгуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "лжы" ; + Pl => "лжыце" + } ; + infinitive = "лгаць" ; + participle = table { + Masc => table { + Sg => "лгаў" ; + Pl => "лгалі" + } ; + Fem => table { + Sg => "лгала" ; + Pl => "лгалі" + } ; + Neuter => table { + Sg => "лгала" ; + Pl => "лгалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV146" + } ; + +mkV147 : Str -> V ; +mkV147 base = + case base of { + "ржаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "ržacʹ" ; + Pl => "ржом" + } ; + P2 => table { + Sg => "ржэш" ; + Pl => "ржаце" + } ; + P3 => table { + Sg => "ржэ" ; + Pl => "ржуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "ржы" ; + Pl => "ржыце" + } ; + infinitive = "ржаць" ; + participle = table { + Masc => table { + Sg => "ржаў" ; + Pl => "ржалі" + } ; + Fem => table { + Sg => "ржала" ; + Pl => "ржалі" + } ; + Neuter => table { + Sg => "ржала" ; + Pl => "ржалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV147" + } ; + +mkV148 : Str -> V ; +mkV148 base = + case base of { + "граць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "hracʹ" ; + Pl => "граем" + } ; + P2 => table { + Sg => "граеш" ; + Pl => "граеце" + } ; + P3 => table { + Sg => "грае" ; + Pl => "граюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "грай" ; + Pl => "грайце" + } ; + infinitive = "граць" ; + participle = table { + Masc => table { + Sg => "граў" ; + Pl => "гралі" + } ; + Fem => table { + Sg => "грала" ; + Pl => "гралі" + } ; + Neuter => table { + Sg => "грала" ; + Pl => "гралі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "граны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV148" + } ; + +mkV149 : Str -> V ; +mkV149 base = + case base of { + "рваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "rvacʹ" ; + Pl => "рвём" + } ; + P2 => table { + Sg => "рвеш" ; + Pl => "рвяце" + } ; + P3 => table { + Sg => "рве" ; + Pl => "рвуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "рві" ; + Pl => "рвіце" + } ; + infinitive = "рваць" ; + participle = table { + Masc => table { + Sg => "рваў" ; + Pl => "рвалі" + } ; + Fem => table { + Sg => "рвала" ; + Pl => "рвалі" + } ; + Neuter => table { + Sg => "рвала" ; + Pl => "рвалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "рваны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV149" + } ; + +mkV150 : Str -> V ; +mkV150 base = + case base of { + "мяць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "mjacʹ" ; + Pl => "мнём" + } ; + P2 => table { + Sg => "мнеш" ; + Pl => "мняце" + } ; + P3 => table { + Sg => "мне" ; + Pl => "мнуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "мні" ; + Pl => "мніце" + } ; + infinitive = "мяць" ; + participle = table { + Masc => table { + Sg => "мяў" ; + Pl => "мялі" + } ; + Fem => table { + Sg => "мяла" ; + Pl => "мялі" + } ; + Neuter => table { + Sg => "мяла" ; + Pl => "мялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "мяты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV150" + } ; + +mkV151 : Str -> V ; +mkV151 base = + case base of { + "гнуць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "hnucʹ" ; + Pl => "гнём" + } ; + P2 => table { + Sg => "гнеш" ; + Pl => "гняце" + } ; + P3 => table { + Sg => "гне" ; + Pl => "гнуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "гні" ; + Pl => "гніце" + } ; + infinitive = "гнуць" ; + participle = table { + Masc => table { + Sg => "гнуў" ; + Pl => "гнулі" + } ; + Fem => table { + Sg => "гнула" ; + Pl => "гнулі" + } ; + Neuter => table { + Sg => "гнула" ; + Pl => "гнулі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "гнуты" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV151" + } ; + +mkV152 : Str -> V ; +mkV152 base = + case base of { + "зваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "zvacʹ" ; + Pl => "завём" + } ; + P2 => table { + Sg => "завеш" ; + Pl => "завяце" + } ; + P3 => table { + Sg => "заве" ; + Pl => "завуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "заві" ; + Pl => "завіце" + } ; + infinitive = "зваць" ; + participle = table { + Masc => table { + Sg => "зваў" ; + Pl => "звалі" + } ; + Fem => table { + Sg => "звала" ; + Pl => "звалі" + } ; + Neuter => table { + Sg => "звала" ; + Pl => "звалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "званы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV152" + } ; + +mkV153 : Str -> V ; +mkV153 base = + case base of { + "дзець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "dzjecʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "дзець" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "дзень" ; + Pl => "дзеньце" + } ; + infinitive = "дзець" ; + participle = table { + Masc => table { + Sg => "дзеў" ; + Pl => "дзелі" + } ; + Fem => table { + Sg => "дзела" ; + Pl => "дзелі" + } ; + Neuter => table { + Sg => "дзела" ; + Pl => "дзелі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "дзеты" + } + } + }; + _ => error "Can't apply paradigm mkV153" + } ; + +mkV154 : Str -> V ; +mkV154 base = + case base of { + base_1+"ець" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ець" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьце" + } ; + infinitive = base_1+"ець" ; + participle = table { + Masc => table { + Sg => base_1+"еў" ; + Pl => base_1+"елі" + } ; + Fem => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } ; + Neuter => table { + Sg => base_1+"ела" ; + Pl => base_1+"елі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV154" + } ; + +mkV155 : Str -> V ; +mkV155 base = + case base of { + base_1+"аіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аіць" ; + Pl => base_1+"оім" + } ; + P2 => table { + Sg => base_1+"оіш" ; + Pl => base_1+"оіце" + } ; + P3 => table { + Sg => base_1+"оіць" ; + Pl => base_1+"ояць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"аі" ; + Pl => base_1+"аіце" + } ; + infinitive = base_1+"аіць" ; + participle = table { + Masc => table { + Sg => base_1+"аіў" ; + Pl => base_1+"аілі" + } ; + Fem => table { + Sg => base_1+"аіла" ; + Pl => base_1+"аілі" + } ; + Neuter => table { + Sg => base_1+"аіла" ; + Pl => base_1+"аілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"оены" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV155" + } ; + +mkV156 : Str -> V ; +mkV156 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"й" ; + Pl => base_1+"йце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV156" + } ; + +mkV157 : Str -> V ; +mkV157 base = + case base of { + base_1+"аяцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аяцца" ; + Pl => base_1+"аімся" + } ; + P2 => table { + Sg => base_1+"аішся" ; + Pl => base_1+"аіцеся" + } ; + P3 => table { + Sg => base_1+"аіцца" ; + Pl => base_1+"аяцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ойся" ; + Pl => base_1+"ойцеся" + } ; + infinitive = base_1+"аяцца" ; + participle = table { + Masc => table { + Sg => base_1+"аяўся" ; + Pl => base_1+"аяліся" + } ; + Fem => table { + Sg => base_1+"аялася" ; + Pl => base_1+"аяліся" + } ; + Neuter => table { + Sg => base_1+"аялася" ; + Pl => base_1+"аяліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV157" + } ; + +mkV158 : Str -> V ; +mkV158 base = + case base of { + base_1+"віць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"віць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ві" ; + Pl => base_1+"віце" + } ; + infinitive = base_1+"віць" ; + participle = table { + Masc => table { + Sg => base_1+"віў" ; + Pl => base_1+"вілі" + } ; + Fem => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } ; + Neuter => table { + Sg => base_1+"віла" ; + Pl => base_1+"вілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ўлёны" + } + } + }; + _ => error "Can't apply paradigm mkV158" + } ; + +mkV159 : Str -> V ; +mkV159 base = + case base of { + base_1+"сці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сці" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзі" ; + Pl => base_1+"дзіце" + } ; + infinitive = base_1+"сці" ; + participle = table { + Masc => table { + Sg => base_1+"ў" ; + Pl => base_1+"лі" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"лі" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV159" + } ; + +mkV160 : Str -> V ; +mkV160 base = + case base of { + "зняць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "znjacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "зняць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "здымі" ; + Pl => "здыміце" + } ; + infinitive = "зняць" ; + participle = table { + Masc => table { + Sg => "зняў" ; + Pl => "знялі" + } ; + Fem => table { + Sg => "зняла" ; + Pl => "знялі" + } ; + Neuter => table { + Sg => "зняла" ; + Pl => "знялі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "зняты" + } + } + }; + _ => error "Can't apply paradigm mkV160" + } ; + +mkV161 : Str -> V ; +mkV161 base = + case base of { + base_1+"іць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іць" ; + Pl => base_1+"ім" + } ; + P2 => table { + Sg => base_1+"іш" ; + Pl => base_1+"іце" + } ; + P3 => table { + Sg => base_1+"іць" ; + Pl => base_1+"яць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"іць" ; + participle = table { + Masc => table { + Sg => base_1+"іў" ; + Pl => base_1+"ілі" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } ; + Neuter => table { + Sg => base_1+"іла" ; + Pl => base_1+"ілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"лёны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV161" + } ; + +mkV162 : Str -> V ; +mkV162 base = + case base of { + base_1+"аўці" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аўці" ; + Pl => base_1+"авём" + } ; + P2 => table { + Sg => base_1+"авеш" ; + Pl => base_1+"авяце" + } ; + P3 => table { + Sg => base_1+"аве" ; + Pl => base_1+"авуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"аві" ; + Pl => base_1+"авіце" + } ; + infinitive = base_1+"аўці" ; + participle = table { + Masc => table { + Sg => base_1+"оў" ; + Pl => base_1+"аўлі" + } ; + Fem => table { + Sg => base_1+"аўла" ; + Pl => base_1+"аўлі" + } ; + Neuter => table { + Sg => base_1+"аўло" ; + Pl => base_1+"аўлі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV162" + } ; + +mkV163 : Str -> V ; +mkV163 base = + case base of { + base_1+"іцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іцца" ; + Pl => base_1+"імся" + } ; + P2 => table { + Sg => base_1+"ішся" ; + Pl => base_1+"іцеся" + } ; + P3 => table { + Sg => base_1+"іцца" ; + Pl => base_1+"яцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"іся" ; + Pl => base_1+"іцеся" + } ; + infinitive = base_1+"іцца" ; + participle = table { + Masc => table { + Sg => base_1+"іўся" ; + Pl => base_1+"іліся" + } ; + Fem => table { + Sg => base_1+"ілася" ; + Pl => base_1+"іліся" + } ; + Neuter => table { + Sg => base_1+"ілася" ; + Pl => base_1+"іліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV163" + } ; + +mkV164 : Str -> V ; +mkV164 base = + case base of { + "сраць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "sracʹ" ; + Pl => "серам" + } ; + P2 => table { + Sg => "сераш" ; + Pl => "сераце" + } ; + P3 => table { + Sg => "сера" ; + Pl => "серуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "сяры" ; + Pl => "сярыце" + } ; + infinitive = "сраць" ; + participle = table { + Masc => table { + Sg => "сраў" ; + Pl => "сралі" + } ; + Fem => table { + Sg => "срала" ; + Pl => "сралі" + } ; + Neuter => table { + Sg => "срала" ; + Pl => "сралі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "сраны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV164" + } ; + +mkV165 : Str -> V ; +mkV165 base = + case base of { + "сцаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "scacʹ" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = "сцаць" ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Fem => table { + Sg => nonExist ; + Pl => nonExist + } ; + Neuter => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV165" + } ; + +mkV166 : Str -> V ; +mkV166 base = + case base of { + base_1+"а"+base_2@?+"чы" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"чы" ; + Pl => base_1+"а"+base_2+"чом" + } ; + P2 => table { + Sg => base_1+"а"+base_2+"чэш" ; + Pl => base_1+"а"+base_2+"чаце" + } ; + P3 => table { + Sg => base_1+"а"+base_2+"чэ" ; + Pl => base_1+"а"+base_2+"куць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"чы" ; + Pl => base_1+"а"+base_2+"чыце" + } ; + infinitive = base_1+"а"+base_2+"чы" ; + participle = table { + Masc => table { + Sg => base_1+"о"+base_2+"к" ; + Pl => base_1+"а"+base_2+"клі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"кла" ; + Pl => base_1+"а"+base_2+"клі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"кло" ; + Pl => base_1+"а"+base_2+"клі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"чаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV166" + } ; + +mkV167 : Str -> V ; +mkV167 base = + case base of { + base_1+"ахаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ахаць" ; + Pl => base_1+"эшам" + } ; + P2 => table { + Sg => base_1+"эшаш" ; + Pl => base_1+"эшаце" + } ; + P3 => table { + Sg => base_1+"эша" ; + Pl => base_1+"эшуць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ашы" ; + Pl => base_1+"ашыце" + } ; + infinitive = base_1+"ахаць" ; + participle = table { + Masc => table { + Sg => base_1+"ахаў" ; + Pl => base_1+"ахалі" + } ; + Fem => table { + Sg => base_1+"ахала" ; + Pl => base_1+"ахалі" + } ; + Neuter => table { + Sg => base_1+"ахала" ; + Pl => base_1+"ахалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV167" + } ; + +mkV168 : Str -> V ; +mkV168 base = + case base of { + base_1+"сціся" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сціся" ; + Pl => base_1+"дзёмся" + } ; + P2 => table { + Sg => base_1+"дзешся" ; + Pl => base_1+"дзяцеся" + } ; + P3 => table { + Sg => base_1+"дзецца" ; + Pl => base_1+"дуцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"дзіся" ; + Pl => base_1+"дзіцеся" + } ; + infinitive = base_1+"сціся" ; + participle = table { + Masc => table { + Sg => base_1+"ўся" ; + Pl => base_1+"ліся" + } ; + Fem => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } ; + Neuter => table { + Sg => base_1+"лася" ; + Pl => base_1+"ліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV168" + } ; + +mkV169 : Str -> V ; +mkV169 base = + case base of { + base_1+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аваць" ; + Pl => base_1+"уём" + } ; + P2 => table { + Sg => base_1+"уеш" ; + Pl => base_1+"уяце" + } ; + P3 => table { + Sg => base_1+"уе" ; + Pl => base_1+"уюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйце" + } ; + infinitive = base_1+"аваць" ; + participle = table { + Masc => table { + Sg => base_1+"аваў" ; + Pl => base_1+"авалі" + } ; + Fem => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } ; + Neuter => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV169" + } ; + +mkV170 : Str -> V ; +mkV170 base = + case base of { + base_1+"явацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"явацца" ; + Pl => base_1+"юемся" + } ; + P2 => table { + Sg => base_1+"юешся" ; + Pl => base_1+"юецеся" + } ; + P3 => table { + Sg => base_1+"юецца" ; + Pl => base_1+"ююцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"юйся" ; + Pl => base_1+"юйцеся" + } ; + infinitive = base_1+"явацца" ; + participle = table { + Masc => table { + Sg => base_1+"яваўся" ; + Pl => base_1+"яваліся" + } ; + Fem => table { + Sg => base_1+"явалася" ; + Pl => base_1+"яваліся" + } ; + Neuter => table { + Sg => base_1+"явалася" ; + Pl => base_1+"яваліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV170" + } ; + +mkV171 : Str -> V ; +mkV171 base = + case base of { + base_1+"ыцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ыцца" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"удзься" ; + Pl => base_1+"удзьцеся" + } ; + infinitive = base_1+"ыцца" ; + participle = table { + Masc => table { + Sg => base_1+"ыўся" ; + Pl => base_1+"ыліся" + } ; + Fem => table { + Sg => base_1+"ылася" ; + Pl => base_1+"ыліся" + } ; + Neuter => table { + Sg => base_1+"ылося" ; + Pl => base_1+"ыліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV171" + } ; + +mkV172 : Str -> V ; +mkV172 base = + case base of { + "дбаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "dbacʹ" ; + Pl => "дбаем" + } ; + P2 => table { + Sg => "дбаеш" ; + Pl => "дбаеце" + } ; + P3 => table { + Sg => "дбае" ; + Pl => "дбаюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "дбай" ; + Pl => "дбайце" + } ; + infinitive = "дбаць" ; + participle = table { + Masc => table { + Sg => "дбаў" ; + Pl => "дбалі" + } ; + Fem => table { + Sg => "дбала" ; + Pl => "дбалі" + } ; + Neuter => table { + Sg => "дбала" ; + Pl => "дбалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV172" + } ; + +mkV173 : Str -> V ; +mkV173 base = + case base of { + base_1+"іцца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іцца" ; + Pl => base_1+"імся" + } ; + P2 => table { + Sg => base_1+"ішся" ; + Pl => base_1+"іцеся" + } ; + P3 => table { + Sg => base_1+"іцца" ; + Pl => base_1+"яцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"ься" ; + Pl => base_1+"ьцеся" + } ; + infinitive = base_1+"іцца" ; + participle = table { + Masc => table { + Sg => base_1+"іўся" ; + Pl => base_1+"іліся" + } ; + Fem => table { + Sg => base_1+"ілася" ; + Pl => base_1+"іліся" + } ; + Neuter => table { + Sg => base_1+"ілася" ; + Pl => base_1+"іліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV173" + } ; + +mkV174 : Str -> V ; +mkV174 base = + case base of { + base_1+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аваць" ; + Pl => "будзем "+base_1+"аваць" + } ; + P2 => table { + Sg => "будзеш "+base_1+"аваць" ; + Pl => "будзеце "+base_1+"аваць" + } ; + P3 => table { + Sg => "будзе "+base_1+"аваць" ; + Pl => "будуць "+base_1+"аваць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйце" + } ; + infinitive = base_1+"аваць" ; + participle = table { + Masc => table { + Sg => base_1+"аваў" ; + Pl => base_1+"авалі" + } ; + Fem => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } ; + Neuter => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аваны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV174" + } ; + +mkV175 : Str -> V ; +mkV175 base = + case base of { + base_1+base_2@?+"ць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"це" + } ; + infinitive = base_1+base_2+"ць" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ў" ; + Pl => base_1+base_2+"лі" + } ; + Fem => table { + Sg => base_1+base_2+"ла" ; + Pl => base_1+base_2+"лі" + } ; + Neuter => table { + Sg => base_1+base_2+"ла" ; + Pl => base_1+base_2+"лі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"он"+base_2 + } + } + }; + _ => error "Can't apply paradigm mkV175" + } ; + +mkV176 : Str -> V ; +mkV176 base = + case base of { + base_1+"авацца" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"авацца" ; + Pl => base_1+"уемся" + } ; + P2 => table { + Sg => base_1+"уешся" ; + Pl => base_1+"уецеся" + } ; + P3 => table { + Sg => base_1+"уецца" ; + Pl => base_1+"уюцца" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"уйся" ; + Pl => base_1+"уйцеся" + } ; + infinitive = base_1+"авацца" ; + participle = table { + Masc => table { + Sg => base_1+"аваўся" ; + Pl => base_1+"аваліся" + } ; + Fem => table { + Sg => base_1+"авалася" ; + Pl => base_1+"аваліся" + } ; + Neuter => table { + Sg => base_1+"авалася" ; + Pl => base_1+"аваліся" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV176" + } ; + +mkV177 : Str -> V ; +mkV177 base = + case base of { + base_1+"зіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зіць" ; + Pl => base_1+"зім" + } ; + P2 => table { + Sg => base_1+"зіш" ; + Pl => base_1+"зіце" + } ; + P3 => table { + Sg => base_1+"зіць" ; + Pl => base_1+"зяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"зі" ; + Pl => base_1+"зіце" + } ; + infinitive = base_1+"зіць" ; + participle = table { + Masc => table { + Sg => base_1+"зіў" ; + Pl => base_1+"зілі" + } ; + Fem => table { + Sg => base_1+"зіла" ; + Pl => base_1+"зілі" + } ; + Neuter => table { + Sg => base_1+"зіла" ; + Pl => base_1+"зілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жаны" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV177" + } ; + +mkV178 : Str -> V ; +mkV178 base = + case base of { + "пхаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "pxacʹ" ; + Pl => "пхаем" + } ; + P2 => table { + Sg => "пхаеш" ; + Pl => "пхаеце" + } ; + P3 => table { + Sg => "пхае" ; + Pl => "пхаюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "пхай" ; + Pl => "пхайце" + } ; + infinitive = "пхаць" ; + participle = table { + Masc => table { + Sg => "пхаў" ; + Pl => "пхалі" + } ; + Fem => table { + Sg => "пхала" ; + Pl => "пхалі" + } ; + Neuter => table { + Sg => "пхала" ; + Pl => "пхалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV178" + } ; + +mkV179 : Str -> V ; +mkV179 base = + case base of { + base_1+"зіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зіць" ; + Pl => base_1+"зім" + } ; + P2 => table { + Sg => base_1+"зіш" ; + Pl => base_1+"зіце" + } ; + P3 => table { + Sg => base_1+"зіць" ; + Pl => base_1+"зяць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"зь" ; + Pl => base_1+"зьце" + } ; + infinitive = base_1+"зіць" ; + participle = table { + Masc => table { + Sg => base_1+"зіў" ; + Pl => base_1+"зілі" + } ; + Fem => table { + Sg => base_1+"зіла" ; + Pl => base_1+"зілі" + } ; + Neuter => table { + Sg => base_1+"зіла" ; + Pl => base_1+"зілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жаны" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жаны" + } + } + }; + _ => error "Can't apply paradigm mkV179" + } ; + +mkV180 : Str -> V ; +mkV180 base = + case base of { + base_1+"а"+base_2@?+"уць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"а"+base_2+"уць" ; + Pl => base_1+"о"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"еш" ; + Pl => base_1+"о"+base_2+"еце" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"уць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"а"+base_2+"і" ; + Pl => base_1+"а"+base_2+"іце" + } ; + infinitive = base_1+"а"+base_2+"уць" ; + participle = table { + Masc => table { + Sg => base_1+"а"+base_2+"уў" ; + Pl => base_1+"а"+base_2+"улі" + } ; + Fem => table { + Sg => base_1+"а"+base_2+"ула" ; + Pl => base_1+"а"+base_2+"улі" + } ; + Neuter => table { + Sg => base_1+"а"+base_2+"ула" ; + Pl => base_1+"а"+base_2+"улі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV180" + } ; + +mkV181 : Str -> V ; +mkV181 base = + case base of { + base_1+"уць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"уць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"і" ; + Pl => base_1+"іце" + } ; + infinitive = base_1+"уць" ; + participle = table { + Masc => table { + Sg => base_1+"уў" ; + Pl => base_1+"улі" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } ; + Neuter => table { + Sg => base_1+"ула" ; + Pl => base_1+"улі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ены" + } + } + }; + _ => error "Can't apply paradigm mkV181" + } ; + +mkV182 : Str -> V ; +mkV182 base = + case base of { + "хлёбаць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "xljóbacʹ" ; + Pl => "хлёбаем" + } ; + P2 => table { + Sg => "хлёбаеш" ; + Pl => "хлёбаеце" + } ; + P3 => table { + Sg => "хлёбае" ; + Pl => "хлёбаюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "хлёбай" ; + Pl => "хлёбайце" + } ; + infinitive = "хлёбаць" ; + participle = table { + Masc => table { + Sg => "хлёбаў" ; + Pl => "хлёбалі" + } ; + Fem => table { + Sg => "хлёбала" ; + Pl => "хлёбалі" + } ; + Neuter => table { + Sg => "хлёбала" ; + Pl => "хлёбалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV182" + } ; + +mkV183 : Str -> V ; +mkV183 base = + case base of { + base_1+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"аваць" ; + Pl => "будзем "+base_1+"аваць" + } ; + P2 => table { + Sg => "будзеш "+base_1+"аваць" ; + Pl => "будзеце "+base_1+"аваць" + } ; + P3 => table { + Sg => "будзе "+base_1+"аваць" ; + Pl => "будуць "+base_1+"аваць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйце" + } ; + infinitive = base_1+"аваць" ; + participle = table { + Masc => table { + Sg => base_1+"аваў" ; + Pl => base_1+"авалі" + } ; + Fem => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } ; + Neuter => table { + Sg => base_1+"авала" ; + Pl => base_1+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ованы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV183" + } ; + +mkV184 : Str -> V ; +mkV184 base = + case base of { + "і"+base_1+"аваць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "і"+base_1+"аваць" ; + Pl => "будзем і"+base_1+"аваць" + } ; + P2 => table { + Sg => "будзеш і"+base_1+"аваць" ; + Pl => "будзеце й"+base_1+"аваць" + } ; + P3 => table { + Sg => "будзе й"+base_1+"аваць" ; + Pl => "будуць і"+base_1+"аваць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "і"+base_1+"уй" ; + Pl => "і"+base_1+"уйце" + } ; + infinitive = "і"+base_1+"аваць" ; + participle = table { + Masc => table { + Sg => "і"+base_1+"аваў" ; + Pl => "і"+base_1+"авалі" + } ; + Fem => table { + Sg => "і"+base_1+"авала" ; + Pl => "і"+base_1+"авалі" + } ; + Neuter => table { + Sg => "і"+base_1+"авала" ; + Pl => "і"+base_1+"авалі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "і"+base_1+"ованы" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV184" + } ; + +mkV185 : Str -> V ; +mkV185 base = + case base of { + "грэць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "hrecʹ" ; + Pl => "грэем" + } ; + P2 => table { + Sg => "грэеш" ; + Pl => "грэеце" + } ; + P3 => table { + Sg => "грэе" ; + Pl => "грэюць" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => "грэй" ; + Pl => "грэйце" + } ; + infinitive = "грэць" ; + participle = table { + Masc => table { + Sg => "грэў" ; + Pl => "грэлі" + } ; + Fem => table { + Sg => "грэла" ; + Pl => "грэлі" + } ; + Neuter => table { + Sg => "грэла" ; + Pl => "грэлі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV185" + } ; + +mkV186 : Str -> V ; +mkV186 base = + case base of { + base_1+"сіць" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сіць" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative = table { + Sg => base_1+"сь" ; + Pl => base_1+"сьце" + } ; + infinitive = base_1+"сіць" ; + participle = table { + Masc => table { + Sg => base_1+"сіў" ; + Pl => base_1+"сілі" + } ; + Fem => table { + Sg => base_1+"сіла" ; + Pl => base_1+"сілі" + } ; + Neuter => table { + Sg => base_1+"сіла" ; + Pl => base_1+"сілі" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"шаны" + } + } + }; + _ => error "Can't apply paradigm mkV186" + } ; + +mkA001 : Str -> A ; +mkA001 base = + case base of { + base_1+"ы" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ы" ; + GSg Fem => base_1+"ая" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"ыя" + } ; + Acc => table { + GSg Masc => base_1+"ага" ; + GSg Fem => base_1+"ую" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"ых" + } ; + Dat => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"аму" ; + GPl => base_1+"ым" + } ; + Gen => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ага" ; + GPl => base_1+"ых" + } ; + Loc => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ых" + } ; + Instr => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA001" + } ; + +mkA002 : Str -> A ; +mkA002 base = + case base of { + base_1+"ы" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ы" ; + GSg Fem => base_1+"ая" ; + GSg Neuter => base_1+"ое" ; + GPl => base_1+"ыя" + } ; + Acc => table { + GSg Masc => base_1+"ога" ; + GSg Fem => base_1+"ую" ; + GSg Neuter => base_1+"ое" ; + GPl => base_1+"ых" + } ; + Dat => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"ым" + } ; + Gen => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ога" ; + GPl => base_1+"ых" + } ; + Loc => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ых" + } ; + Instr => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA002" + } ; + +mkA003 : Str -> A ; +mkA003 base = + case base of { + base_1+"і" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"і" ; + GSg Fem => base_1+"ая" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"ія" + } ; + Acc => table { + GSg Masc => base_1+"ага" ; + GSg Fem => base_1+"ую" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"іх" + } ; + Dat => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"аму" ; + GPl => base_1+"ім" + } ; + Gen => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ага" ; + GPl => base_1+"іх" + } ; + Loc => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"іх" + } ; + Instr => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"імі" + } + } + }; + _ => error "Can't apply paradigm mkA003" + } ; + +mkA004 : Str -> A ; +mkA004 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + GSg Masc => base_1 ; + GSg Fem => base_1+"яя" ; + GSg Neuter => base_1+"яе" ; + GPl => base_1+"ія" + } ; + Acc => table { + GSg Masc => base_1+"яга" ; + GSg Fem => base_1+"юю" ; + GSg Neuter => base_1+"яе" ; + GPl => base_1+"іх" + } ; + Dat => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"яму" ; + GPl => base_1+"ім" + } ; + Gen => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"яга" ; + GPl => base_1+"іх" + } ; + Loc => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"іх" + } ; + Instr => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"імі" + } + } + }; + _ => error "Can't apply paradigm mkA004" + } ; + +mkA005 : Str -> A ; +mkA005 base = + case base of { + base_1+"і" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"і" ; + GSg Fem => base_1+"яя" ; + GSg Neuter => base_1+"яе" ; + GPl => base_1+"ія" + } ; + Acc => table { + GSg Masc => base_1+"яга" ; + GSg Fem => base_1+"юю" ; + GSg Neuter => base_1+"яе" ; + GPl => base_1+"іх" + } ; + Dat => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"яму" ; + GPl => base_1+"ім" + } ; + Gen => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"яга" ; + GPl => base_1+"іх" + } ; + Loc => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"іх" + } ; + Instr => table { + GSg Fem => base_1+"яй" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"імі" + } + } + }; + _ => error "Can't apply paradigm mkA005" + } ; + +mkA006 : Str -> A ; +mkA006 base = + case base of { + base_1+"і" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"і" ; + GSg Fem => base_1+"ая" ; + GSg Neuter => base_1+"ое" ; + GPl => base_1+"ія" + } ; + Acc => table { + GSg Masc => base_1+"ога" ; + GSg Fem => base_1+"ую" ; + GSg Neuter => base_1+"ое" ; + GPl => base_1+"іх" + } ; + Dat => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"ім" + } ; + Gen => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ога" ; + GPl => base_1+"іх" + } ; + Loc => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"іх" + } ; + Instr => table { + GSg Fem => base_1+"ой" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"імі" + } + } + }; + _ => error "Can't apply paradigm mkA006" + } ; + +mkA007 : Str -> A ; +mkA007 base = + case base of { + base_1+"ны" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ны" ; + GSg Fem => base_1+"ая" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"ыя" + } ; + Acc => table { + GSg Masc => base_1+"ага" ; + GSg Fem => base_1+"ую" ; + GSg Neuter => base_1+"ае" ; + GPl => base_1+"ых" + } ; + Dat => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"аму" ; + GPl => base_1+"ым" + } ; + Gen => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ага" ; + GPl => base_1+"ых" + } ; + Loc => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ых" + } ; + Instr => table { + GSg Fem => base_1+"ай" ; + GSg _ => base_1+"ым" ; + GPl => base_1+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA007" + } ; + +mkA008 : Str -> A ; +mkA008 base = + case base of { + "м"+base_1+"ўк"+base_2@(?+?+?)+"ы" => lin A + { s = table { + Nom => table { + GSg Masc => "м"+base_1+"ўк"+base_2+"ы" ; + GSg Fem => "гав"+base_1+"р"+base_2+"ая" ; + GSg Neuter => "гав"+base_1+"р"+base_2+"ае" ; + GPl => "гав"+base_1+"р"+base_2+"ыя" + } ; + Acc => table { + GSg Masc => "гав"+base_1+"р"+base_2+"ага" ; + GSg Fem => "гав"+base_1+"р"+base_2+"ую" ; + GSg Neuter => "гав"+base_1+"р"+base_2+"ае" ; + GPl => "гав"+base_1+"р"+base_2+"ых" + } ; + Dat => table { + GSg Fem => "гав"+base_1+"р"+base_2+"ай" ; + GSg _ => "гав"+base_1+"р"+base_2+"аму" ; + GPl => "гав"+base_1+"р"+base_2+"ым" + } ; + Gen => table { + GSg Fem => "гав"+base_1+"р"+base_2+"ай" ; + GSg _ => "гав"+base_1+"р"+base_2+"ага" ; + GPl => "гав"+base_1+"р"+base_2+"ых" + } ; + Loc => table { + GSg Fem => "гав"+base_1+"р"+base_2+"ай" ; + GSg _ => "гав"+base_1+"р"+base_2+"ым" ; + GPl => "гав"+base_1+"р"+base_2+"ых" + } ; + Instr => table { + GSg Fem => "гав"+base_1+"р"+base_2+"ай" ; + GSg _ => "гав"+base_1+"р"+base_2+"ым" ; + GPl => "гав"+base_1+"р"+base_2+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA008" + } ; + +mkA009 : Str -> A ; +mkA009 base = + case base of { + "невым"+base_1+"ы" => lin A + { s = table { + Nom => table { + GSg Masc => "невым"+base_1+"ы" ; + GSg Fem => "ах"+base_1+"ая" ; + GSg Neuter => "ах"+base_1+"ае" ; + GPl => "ах"+base_1+"ыя" + } ; + Acc => table { + GSg Masc => "ах"+base_1+"ага" ; + GSg Fem => "ах"+base_1+"ую" ; + GSg Neuter => "ах"+base_1+"ае" ; + GPl => "ах"+base_1+"ых" + } ; + Dat => table { + GSg Fem => "ах"+base_1+"ай" ; + GSg _ => "ах"+base_1+"аму" ; + GPl => "ах"+base_1+"ым" + } ; + Gen => table { + GSg Fem => "ах"+base_1+"ай" ; + GSg _ => "ах"+base_1+"ага" ; + GPl => "ах"+base_1+"ых" + } ; + Loc => table { + GSg Fem => "ах"+base_1+"ай" ; + GSg _ => "ах"+base_1+"ым" ; + GPl => "ах"+base_1+"ых" + } ; + Instr => table { + GSg Fem => "ах"+base_1+"ай" ; + GSg _ => "ах"+base_1+"ым" ; + GPl => "ах"+base_1+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA009" + } ; + +mkA010 : Str -> A ; +mkA010 base = + case base of { + base_1+"е"+base_2@(?+?+?)+"ы" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"е"+base_2+"ы" ; + GSg Fem => base_1+"я"+base_2+"ая" ; + GSg Neuter => base_1+"я"+base_2+"ае" ; + GPl => base_1+"я"+base_2+"ыя" + } ; + Acc => table { + GSg Masc => base_1+"я"+base_2+"ага" ; + GSg Fem => base_1+"я"+base_2+"ую" ; + GSg Neuter => base_1+"я"+base_2+"ае" ; + GPl => base_1+"я"+base_2+"ых" + } ; + Dat => table { + GSg Fem => base_1+"я"+base_2+"ай" ; + GSg _ => base_1+"я"+base_2+"аму" ; + GPl => base_1+"я"+base_2+"ым" + } ; + Gen => table { + GSg Fem => base_1+"я"+base_2+"ай" ; + GSg _ => base_1+"я"+base_2+"ага" ; + GPl => base_1+"я"+base_2+"ых" + } ; + Loc => table { + GSg Fem => base_1+"я"+base_2+"ай" ; + GSg _ => base_1+"я"+base_2+"ым" ; + GPl => base_1+"я"+base_2+"ых" + } ; + Instr => table { + GSg Fem => base_1+"я"+base_2+"ай" ; + GSg _ => base_1+"я"+base_2+"ым" ; + GPl => base_1+"я"+base_2+"ымі" + } + } + }; + _ => error "Can't apply paradigm mkA010" + } ; +} diff --git a/src/belarusian/NounBel.gf b/src/belarusian/NounBel.gf new file mode 100644 index 00000000..8c208e3e --- /dev/null +++ b/src/belarusian/NounBel.gf @@ -0,0 +1,4 @@ +concrete NounBel of Noun = CatBel ** { +lin + UseN n = n ; +} diff --git a/src/belarusian/ParadigmsBel.gf b/src/belarusian/ParadigmsBel.gf new file mode 100644 index 00000000..470cc486 --- /dev/null +++ b/src/belarusian/ParadigmsBel.gf @@ -0,0 +1,842 @@ +resource ParadigmsBel = MorphoBel ** open Predef, Prelude, CatBel, ResBel in { +oper + regN : Str -> N -- s;Nom;Sg + = \form -> case form of { + _ + "цат" => mkN056 form; + _ + "фат" => mkN099 form; + _ + "бат" => mkN131 form; + _ + "ват" => mkN131 form; + _ + "кат" => mkN131 form; + _ + "энт" => mkN131 form; + _ + "онт" => mkN056 form; + _ + "ікт" => mkN056 form; + _ + "укт" => mkN056 form; + _ + "сіт" => mkN131 form; + _ + "біт" => mkN131 form; + _ + "ірт" => mkN205 form; + _ + "ост" => mkN056 form; + _ + "уст" => mkN125 form; + _ + "эфт" => mkN056 form; + _ + "нёт" => mkN056 form; + _ + "ыёт" => mkN131 form; + _ + "аэт" => mkN131 form; + _ + "цэт" => mkN131 form; + _ + "чыт" => mkN125 form; + _ + "гут" => mkN125 form; + _ + "'ят" => mkN131 form; + _ + "лец" => mkN002 form; + _ + "аец" => mkN235 form; + _ + "еец" => mkN235 form; + _ + "ыец" => mkN235 form; + _ + "іец" => mkN235 form; + _ + "зец" => mkN265 form; + _ + "вец" => mkN300 form; + _ + "рац" => mkN286 form; + _ + "рка" => mkN003 form; + _ + "іка" => mkN003 form; + _ + "ека" => mkN003 form; + _ + "ыка" => mkN003 form; + _ + "ўка" => mkN217 form; + _ + "ука" => mkN026 form; + _ + "эка" => mkN026 form; + _ + "ока" => mkN026 form; + _ + "ака" => mkN026 form; + _ + "яка" => mkN026 form; + _ + "йка" => mkN124 form; + _ + "ька" => mkN196 form; + _ + "ква" => mkN039 form; + _ + "ова" => mkN150 form; + _ + "зва" => mkN039 form; + _ + "хва" => mkN039 form; + _ + "рва" => mkN039 form; + _ + "ева" => mkN138 form; + _ + "ява" => mkN150 form; + _ + "эва" => mkN166 form; + _ + "уза" => mkN012 form; + _ + "аза" => mkN012 form; + _ + "нза" => mkN012 form; + _ + "еза" => mkN024 form; + _ + "ўза" => mkN039 form; + _ + "яза" => mkN187 form; + _ + "іма" => mkN012 form; + _ + "ома" => mkN012 form; + _ + "ьма" => mkN091 form; + _ + "чма" => mkN215 form; + _ + "ьба" => mkN012 form; + _ + "аба" => mkN012 form; + _ + "ыба" => mkN012 form; + _ + "ёба" => mkN024 form; + _ + "жба" => mkN039 form; + _ + "чба" => mkN039 form; + _ + "ўба" => mkN091 form; + _ + "ўна" => mkN012 form; + _ + "ына" => mkN012 form; + _ + "ана" => mkN012 form; + _ + "рна" => mkN012 form; + _ + "дна" => mkN024 form; + _ + "нна" => mkN039 form; + _ + "яна" => mkN061 form; + _ + "уна" => mkN091 form; + _ + "спа" => mkN012 form; + _ + "лпа" => mkN083 form; + _ + "гла" => mkN012 form; + _ + "ула" => mkN188 form; + _ + "ёла" => mkN012 form; + _ + "іла" => mkN188 form; + _ + "ела" => mkN188 form; + _ + "яла" => mkN091 form; + _ + "сла" => mkN260 form; + _ + "ыса" => mkN012 form; + _ + "оса" => mkN024 form; + _ + "йга" => mkN020 form; + _ + "рга" => mkN061 form; + _ + "ьга" => mkN088 form; + _ + "ята" => mkN245 form; + _ + "ыта" => mkN245 form; + _ + "дра" => mkN102 form; + _ + "тра" => mkN080 form; + _ + "бра" => mkN080 form; + _ + "ўра" => mkN099 form; + _ + "кра" => mkN102 form; + _ + "ыца" => mkN137 form; + _ + "ўца" => mkN137 form; + _ + "дца" => mkN078 form; + _ + "йца" => mkN078 form; + _ + "чца" => mkN078 form; + _ + "нца" => mkN080 form; + _ + "рца" => mkN080 form; + _ + "сца" => mkN080 form; + _ + "ржа" => mkN064 form; + _ + "жжа" => mkN080 form; + _ + "джа" => mkN102 form; + _ + "ыча" => mkN036 form; + _ + "эча" => mkN036 form; + _ + "яча" => mkN064 form; + _ + "чча" => mkN080 form; + _ + "нча" => mkN102 form; + _ + "оха" => mkN309 form; + _ + "ьха" => mkN309 form; + _ + "зык" => mkN005 form; + _ + "мык" => mkN005 form; + _ + "тык" => mkN043 form; + _ + "аяк" => mkN005 form; + _ + "пяк" => mkN005 form; + _ + "ляк" => mkN063 form; + _ + "мак" => mkN006 form; + _ + "пак" => mkN006 form; + _ + "шак" => mkN006 form; + _ + "сак" => mkN006 form; + _ + "вак" => mkN063 form; + _ + "зак" => mkN251 form; + _ + "вік" => mkN005 form; + _ + "лік" => mkN043 form; + _ + "вук" => mkN006 form; + _ + "цук" => mkN006 form; + _ + "рук" => mkN043 form; + _ + "шук" => mkN043 form; + _ + "нук" => mkN063 form; + _ + "чук" => mkN328 form; + _ + "шок" => mkN015 form; + _ + "мок" => mkN063 form; + _ + "чок" => mkN015 form; + _ + "нок" => mkN015 form; + _ + "рэк" => mkN063 form; + _ + "цуг" => mkN005 form; + _ + "раг" => mkN063 form; + _ + "онг" => mkN008 form; + _ + "рог" => mkN337 form; + _ + "лог" => mkN200 form; + _ + "жух" => mkN005 form; + _ + "тух" => mkN063 form; + _ + "нах" => mkN063 form; + _ + "віч" => mkN062 form; + _ + "нач" => mkN184 form; + _ + "ршч" => mkN204 form; + _ + "пыр" => mkN334 form; + _ + "лор" => mkN007 form; + _ + "рор" => mkN042 form; + _ + "пор" => mkN059 form; + _ + "хор" => mkN155 form; + _ + "фар" => mkN007 form; + _ + "нар" => mkN007 form; + _ + "хар" => mkN019 form; + _ + "гар" => mkN019 form; + _ + "вар" => mkN042 form; + _ + "жар" => mkN042 form; + _ + "сір" => mkN062 form; + _ + "пір" => mkN062 form; + _ + "хір" => mkN365 form; + _ + "гір" => mkN365 form; + _ + "кер" => mkN007 form; + _ + "мер" => mkN042 form; + _ + "лер" => mkN042 form; + _ + "нер" => mkN062 form; + _ + "вер" => mkN174 form; + _ + "ґер" => mkN127 form; + _ + "цэр" => mkN062 form; + _ + "шэр" => mkN062 form; + _ + "дэр" => mkN062 form; + _ + "гур" => mkN062 form; + _ + "чур" => mkN062 form; + _ + "аўр" => mkN334 form; + _ + "ыгр" => mkN334 form; + _ + "даж" => mkN034 form; + _ + "гаж" => mkN071 form; + _ + "ыум" => mkN031 form; + _ + "нос" => mkN013 form; + _ + "пус" => mkN009 form; + _ + "лас" => mkN009 form; + _ + "рас" => mkN045 form; + _ + "лёс" => mkN011 form; + _ + "цыс" => mkN013 form; + _ + "нес" => mkN045 form; + _ + "зіс" => mkN045 form; + _ + "вол" => mkN035 form; + _ + "рол" => mkN159 form; + _ + "пел" => mkN011 form; + _ + "рал" => mkN013 form; + _ + "дал" => mkN013 form; + _ + "кал" => mkN013 form; + _ + "сал" => mkN013 form; + _ + "сул" => mkN013 form; + _ + "мул" => mkN045 form; + _ + "нёл" => mkN013 form; + _ + "вон" => mkN009 form; + _ + "рон" => mkN011 form; + _ + "лон" => mkN011 form; + _ + "зон" => mkN011 form; + _ + "аон" => mkN013 form; + _ + "зан" => mkN013 form; + _ + "бан" => mkN195 form; + _ + "зін" => mkN011 form; + _ + "фін" => mkN013 form; + _ + "він" => mkN013 form; + _ + "рэн" => mkN011 form; + _ + "зын" => mkN011 form; + _ + "лын" => mkN214 form; + _ + "іян" => mkN013 form; + _ + "лян" => mkN045 form; + _ + "цян" => mkN195 form; + _ + "жун" => mkN195 form; + _ + "кун" => mkN195 form; + _ + "сун" => mkN195 form; + _ + "пун" => mkN366 form; + _ + "лаб" => mkN009 form; + _ + "ваб" => mkN011 form; + _ + "раб" => mkN013 form; + _ + "арб" => mkN045 form; + _ + "цай" => mkN022 form; + _ + "гай" => mkN117 form; + _ + "тай" => mkN117 form; + _ + "чай" => mkN305 form; + _ + "бой" => mkN017 form; + _ + "рой" => mkN022 form; + _ + "пой" => mkN305 form; + _ + "зей" => mkN022 form; + _ + "куй" => mkN099 form; + _ + "мыз" => mkN011 form; + _ + "цуз" => mkN013 form; + _ + "буз" => mkN214 form; + _ + "куп" => mkN013 form; + _ + "чуп" => mkN045 form; + _ + "ноп" => mkN035 form; + _ + "хоп" => mkN045 form; + _ + "льф" => mkN011 form; + _ + "орф" => mkN011 form; + _ + "сад" => mkN037 form; + _ + "гад" => mkN037 form; + _ + "айд" => mkN037 form; + _ + "код" => mkN037 form; + _ + "лод" => mkN048 form; + _ + "луд" => mkN048 form; + _ + "пед" => mkN037 form; + _ + "зед" => mkN081 form; + _ + "оід" => mkN037 form; + _ + "туш" => mkN034 form; + _ + "рыш" => mkN062 form; + _ + "дло" => mkN278 form; + _ + "яло" => mkN278 form; + _ + "бло" => mkN278 form; + _ + "ало" => mkN316 form; + _ + "іно" => mkN061 form; + _ + "гно" => mkN278 form; + _ + "тно" => mkN316 form; + _ + "дро" => mkN246 form; + _ + "яро" => mkN246 form; + _ + "шкі" => mkN242 form; + _ + "ані" => mkN088 form; + _ + "дні" => mkN241 form; + _ + "уры" => mkN061 form; + _ + "юты" => mkN181 form; + _ + "оны" => mkN145 form; + _ + "чны" => mkN181 form; + _ + "ены" => mkN291 form; + _ + "аны" => mkN291 form; + _ + "нны" => mkN291 form; + _ + "іцы" => mkN145 form; + _ + "ёды" => mkN145 form; + _ + "зія" => mkN133 form; + _ + "хія" => mkN133 form; + _ + "лея" => mkN133 form; + _ + "ель" => mkN237 form; + _ + "унь" => mkN164 form; + _ + "энь" => mkN164 form; + _ + "ань" => mkN164 form; + _ + "онь" => mkN164 form; + _ + "азь" => mkN100 form; + _ + "дзь" => mkN152 form; + _ + "ось" => mkN375 form; + _ + "ась" => mkN375 form; + _ + "яць" => mkN325 form; + _ + "уць" => mkN325 form; + _ + "іць" => mkN325 form; + _ + "іт" => mkN056 form; + _ + "рт" => mkN056 form; + _ + "ст" => mkN131 form; + _ + "ыт" => mkN056 form; + _ + "ят" => mkN056 form; + _ + "лт" => mkN056 form; + _ + "шт" => mkN056 form; + _ + "нц" => mkN042 form; + _ + "яц" => mkN046 form; + _ + "ац" => mkN046 form; + _ + "ва" => mkN024 form; + _ + "за" => mkN016 form; + _ + "ма" => mkN016 form; + _ + "ба" => mkN016 form; + _ + "на" => mkN016 form; + _ + "па" => mkN016 form; + _ + "ла" => mkN024 form; + _ + "са" => mkN016 form; + _ + "га" => mkN021 form; + _ + "та" => mkN023 form; + _ + "ра" => mkN036 form; + _ + "ца" => mkN036 form; + _ + "жа" => mkN036 form; + _ + "ша" => mkN036 form; + _ + "ча" => mkN297 form; + _ + "эа" => mkN061 form; + _ + "да" => mkN087 form; + _ + "ха" => mkN114 form; + _ + "ык" => mkN063 form; + _ + "як" => mkN006 form; + _ + "ак" => mkN178 form; + _ + "юк" => mkN006 form; + _ + "ок" => mkN043 form; + _ + "ск" => mkN043 form; + _ + "ўк" => mkN044 form; + _ + "ёк" => mkN122 form; + _ + "уг" => mkN115 form; + _ + "рг" => mkN008 form; + _ + "аг" => mkN008 form; + _ + "яг" => mkN008 form; + _ + "зг" => mkN030 form; + _ + "ог" => mkN105 form; + _ + "ег" => mkN200 form; + _ + "іх" => mkN006 form; + _ + "эх" => mkN008 form; + _ + "ях" => mkN113 form; + _ + "рч" => mkN007 form; + _ + "іч" => mkN007 form; + _ + "юч" => mkN034 form; + _ + "яч" => mkN034 form; + _ + "шч" => mkN034 form; + _ + "ыч" => mkN034 form; + _ + "еч" => mkN184 form; + _ + "эч" => mkN184 form; + _ + "ыр" => mkN019 form; + _ + "ар" => mkN062 form; + _ + "ір" => mkN007 form; + _ + "яр" => mkN019 form; + _ + "юр" => mkN042 form; + _ + "гр" => mkN062 form; + _ + "ёр" => mkN062 form; + _ + "аж" => mkN062 form; + _ + "ож" => mkN059 form; + _ + "ўж" => mkN155 form; + _ + "рж" => mkN155 form; + _ + "дж" => mkN204 form; + _ + "ам" => mkN031 form; + _ + "ум" => mkN045 form; + _ + "ьм" => mkN031 form; + _ + "ім" => mkN031 form; + _ + "йм" => mkN031 form; + _ + "ём" => mkN031 form; + _ + "юм" => mkN031 form; + _ + "эм" => mkN045 form; + _ + "яс" => mkN009 form; + _ + "ёс" => mkN045 form; + _ + "нс" => mkN045 form; + _ + "рс" => mkN045 form; + _ + "эс" => mkN045 form; + _ + "ыл" => mkN011 form; + _ + "ел" => mkN330 form; + _ + "эл" => mkN045 form; + _ + "іл" => mkN013 form; + _ + "ёл" => mkN018 form; + _ + "ін" => mkN239 form; + _ + "эн" => mkN013 form; + _ + "рн" => mkN011 form; + _ + "ын" => mkN013 form; + _ + "ен" => mkN013 form; + _ + "ун" => mkN214 form; + _ + "рб" => mkN035 form; + _ + "ўб" => mkN035 form; + _ + "юб" => mkN045 form; + _ + "уб" => mkN050 form; + _ + "ыб" => mkN050 form; + _ + "ей" => mkN017 form; + _ + "яй" => mkN017 form; + _ + "эй" => mkN022 form; + _ + "уй" => mkN067 form; + _ + "ыз" => mkN045 form; + _ + "оз" => mkN057 form; + _ + "уп" => mkN050 form; + _ + "ап" => mkN013 form; + _ + "ўп" => mkN045 form; + _ + "ып" => mkN045 form; + _ + "іф" => mkN045 form; + _ + "рд" => mkN037 form; + _ + "юд" => mkN081 form; + _ + "зд" => mkN082 form; + _ + "ьв" => mkN120 form; + _ + "аш" => mkN034 form; + _ + "уш" => mkN046 form; + _ + "рш" => mkN046 form; + _ + "ўш" => mkN059 form; + _ + "ро" => mkN061 form; + _ + "кі" => mkN322 form; + _ + "ні" => mkN099 form; + _ + "ці" => mkN099 form; + _ + "лі" => mkN241 form; + _ + "гі" => mkN242 form; + _ + "ыё" => mkN061 form; + _ + "нё" => mkN433 form; + _ + "ье" => mkN061 form; + _ + "ае" => mkN361 form; + _ + "ры" => mkN145 form; + _ + "ты" => mkN145 form; + _ + "шы" => mkN181 form; + _ + "бы" => mkN291 form; + _ + "лы" => mkN291 form; + _ + "чы" => mkN291 form; + _ + "мы" => mkN291 form; + _ + "мя" => mkN092 form; + _ + "бя" => mkN092 form; + _ + "оя" => mkN133 form; + _ + "ця" => mkN154 form; + _ + "ка" => mkN004 form; + _ + "ль" => mkN100 form; + _ + "нь" => mkN100 form; + _ + "зь" => mkN410 form; + _ + "сь" => mkN116 form; + _ + "ыў" => mkN252 form; + _ + "еў" => mkN252 form; + _ + "т" => mkN032 form; + _ + "ц" => mkN127 form; + _ + "к" => mkN008 form; + _ + "г" => mkN043 form; + _ + "х" => mkN043 form; + _ + "ч" => mkN019 form; + _ + "р" => mkN046 form; + _ + "ж" => mkN046 form; + _ + "м" => mkN011 form; + _ + "с" => mkN031 form; + _ + "л" => mkN031 form; + _ + "н" => mkN031 form; + _ + "б" => mkN031 form; + _ + "й" => mkN010 form; + _ + "з" => mkN031 form; + _ + "п" => mkN031 form; + _ + "ф" => mkN031 form; + _ + "д" => mkN027 form; + _ + "в" => mkN031 form; + _ + ("яляш"|"ялюш") => mkN243 form; + _ + "о" => mkN055 form; + _ + "і" => mkN061 form; + _ + "э" => mkN061 form; + _ + "ё" => mkN230 form; + _ + "ю" => mkN061 form; + _ + "е" => mkN201 form; + _ + "ы" => mkN283 form; + _ + "я" => mkN206 form; + _ + "у" => mkN088 form; + _ + "ь" => mkN262 form; + _ + "o" => mkN144 form; + _ + "ў" => mkN351 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2N : Str -> Str -> N -- s;Nom;Sg s;Acc;Pl + = \form1, form2 -> case of { + <_ + "мак", _ + "мкі"> => mkN178 form1; + <_ + "ана", _ + "оны"> => mkN070 form1; + <_ + "ана", _ + "эны"> => mkN182 form1; + <_ + "нер", _ + "яры"> => mkN069 form1; + <_ + "ель", _ + "блі"> => mkN118 form1; + <_ + "ель", _ + "флі"> => mkN179 form1; + <_ + "ань", _ + "жні"> => mkN177 form1; + <_ + "раб", _ + "оў"> => mkN195 form1; + <_ + "вак", _ + "оў"> => mkN328 form1; + <_ + "вец", _ + "оў"> => mkN420 form1; + <_ + "рка", _ + "і"> => mkN004 form1; + <_ + "іка", _ + "і"> => mkN026 form1; + <_ + "ека", _ + "і"> => mkN256 form1; + <_ + "ыка", _ + "і"> => mkN026 form1; + <_ + "ыка", _ + "ў"> => mkN129 form1; + <_ + "ўка", _ + "к"> => mkN161 form1; + <_ + "зык", _ + "ў"> => mkN006 form1; + <_ + "мак", _ + "і"> => mkN005 form1; + <_ + "пак", _ + "і"> => mkN005 form1; + <_ + "шок", _ + "і"> => mkN008 form1; + <_ + "лік", _ + "ў"> => mkN063 form1; + <_ + "нос", _ + "ы"> => mkN009 form1; + <_ + "гай", _ + "і"> => mkN010 form1; + <_ + "льф", _ + "ы"> => mkN031 form1; + <_ + "рон", _ + "ў"> => mkN013 form1; + <_ + "лон", _ + "ў"> => mkN029 form1; + <_ + "лон", _ + "ы"> => mkN045 form1; + <_ + "лёс", _ + "ы"> => mkN045 form1; + <_ + "зін", _ + "ы"> => mkN031 form1; + <_ + "уза", _ + "ы"> => mkN091 form1; + <_ + "аза", _ + "ы"> => mkN016 form1; + <_ + "аза", _ + "з"> => mkN139 form1; + <_ + "ьба", _ + "ы"> => mkN016 form1; + <_ + "іма", _ + "ы"> => mkN091 form1; + <_ + "ына", _ + "ы"> => mkN016 form1; + <_ + "спа", _ + "ы"> => mkN039 form1; + <_ + "ана", _ + "ы"> => mkN016 form1; + <_ + "гла", _ + "ы"> => mkN356 form1; + <_ + "аба", _ + "ы"> => mkN016 form1; + <_ + "ула", _ + "л"> => mkN012 form1; + <_ + "ула", _ + "ы"> => mkN016 form1; + <_ + "ыса", _ + "ы"> => mkN016 form1; + <_ + "рна", _ + "ы"> => mkN091 form1; + <_ + "раб", _ + "ы"> => mkN031 form1; + <_ + "іян", _ + "ы"> => mkN031 form1; + <_ + "цыс", _ + "ы"> => mkN031 form1; + <_ + "мок", _ + "і"> => mkN015 form1; + <_ + "іла", _ + "ы"> => mkN016 form1; + <_ + "ела", _ + "ы"> => mkN016 form1; + <_ + "ова", _ + "ў"> => mkN138 form1; + <_ + "вол", _ + "ў"> => mkN029 form1; + <_ + "дра", _ + "ў"> => mkN141 form1; + <_ + "гад", _ + "ў"> => mkN081 form1; + <_ + "зва", _ + "ў"> => mkN083 form1; + <_ + "рва", _ + "ў"> => mkN083 form1; + <_ + "вар", _ + "ў"> => mkN062 form1; + <_ + "рук", _ + "ў"> => mkN328 form1; + <_ + "нер", _ + "ы"> => mkN046 form1; + <_ + "ост", _ + "ы"> => mkN054 form1; + <_ + "энт", _ + "ы"> => mkN056 form1; + <_ + "вер", _ + "ў"> => mkN062 form1; + <_ + "раг", _ + "і"> => mkN115 form1; + <_ + "ўца", _ + "ў"> => mkN078 form1; + <_ + "бра", _ + "ы"> => mkN102 form1; + <_ + "ьма", _ + "ў"> => mkN083 form1; + <_ + "ель", _ + "і"> => mkN100 form1; + <_ + "рог", _ + "і"> => mkN105 form1; + <_ + "рог", _ + "ў"> => mkN339 form1; + <_ + "унь", _ + "і"> => mkN121 form1; + <_ + "йка", _ + "к"> => mkN160 form1; + <_ + "ька", _ + "ў"> => mkN129 form1; + <_ + "ька", _ + "і"> => mkN197 form1; + <_ + "яць", _ + "ў"> => mkN132 form1; + <_ + "ось", _ + "ў"> => mkN152 form1; + <_ + "зак", _ + "ў"> => mkN191 form1; + <_ + "ар", _ + "тры"> => mkN373 form1; + <_ + "ок", _ + "ркі"> => mkN015 form1; + <_ + "ок", _ + "ткі"> => mkN015 form1; + <_ + "ок", _ + "акі"> => mkN030 form1; + <_ + "ва", _ + "івы"> => mkN150 form1; + <_ + "ла", _ + "элы"> => mkN182 form1; + <_ + "ла", _ + "ылы"> => mkN188 form1; + <_ + "са", _ + "осы"> => mkN070 form1; + <_ + "ел", _ + "елы"> => mkN031 form1; + <_ + "ль", _ + "злі"> => mkN177 form1; + <_ + "нь", _ + "дні"> => mkN173 form1; + <_ + "нь", _ + "ўні"> => mkN175 form1; + <_ + "нь", _ + "сні"> => mkN179 form1; + <_ + "нь", _ + "пні"> => mkN179 form1; + <_ + "нь", _ + "яні"> => mkN400 form1; + <_ + "ак", _ + "оў"> => mkN006 form1; + <_ + "ык", _ + "оў"> => mkN006 form1; + <_ + "як", _ + "аў"> => mkN063 form1; + <_ + "ар", _ + "оў"> => mkN019 form1; + <_ + "ла", _ + "ол"> => mkN139 form1; + <_ + "ын", _ + "оў"> => mkN038 form1; + <_ + "яр", _ + "аў"> => mkN062 form1; + <_ + "іт", _ + "ты"> => mkN032 form1; + <_ + "ль", _ + "ёў"> => mkN203 form1; + <_ + "ак", _ + "ў"> => mkN276 form1; + <_ + "ык", _ + "і"> => mkN008 form1; + <_ + "ыр", _ + "ы"> => mkN034 form1; + <_ + "ір", _ + "ы"> => mkN042 form1; + <_ + "ар", _ + "ы"> => mkN046 form1; + <_ + "аг", _ + "ў"> => mkN063 form1; + <_ + "эх", _ + "ў"> => mkN063 form1; + <_ + "ма", _ + "м"> => mkN012 form1; + <_ + "на", _ + "н"> => mkN012 form1; + <_ + "ба", _ + "б"> => mkN012 form1; + <_ + "ла", _ + "л"> => mkN012 form1; + <_ + "па", _ + "п"> => mkN012 form1; + <_ + "ап", _ + "ы"> => mkN031 form1; + <_ + "эл", _ + "ў"> => mkN013 form1; + <_ + "ен", _ + "ы"> => mkN045 form1; + <_ + "ей", _ + "ў"> => mkN022 form1; + <_ + "ёл", _ + "ы"> => mkN031 form1; + <_ + "та", _ + "ў"> => mkN078 form1; + <_ + "ін", _ + "ы"> => mkN031 form1; + <_ + "ст", _ + "ы"> => mkN032 form1; + <_ + "шч", _ + "ў"> => mkN346 form1; + <_ + "ца", _ + "ц"> => mkN137 form1; + <_ + "рд", _ + "ў"> => mkN081 form1; + <_ + "ск", _ + "ў"> => mkN063 form1; + <_ + "еч", _ + "ы"> => mkN069 form1; + <_ + "ча", _ + "ў"> => mkN141 form1; + <_ + "бя", _ + "т"> => mkN153 form1; + <_ + "ль", _ + "ў"> => mkN152 form1; + <_ + "нь", _ + "ў"> => mkN152 form1; + <_ + "ха", _ + "і"> => mkN309 form1; + <_ + "зь", _ + "ў"> => mkN132 form1; + <_ + "оя", _ + "і"> => mkN301 form1; + <_ + "ж", _ + "ыжы"> => mkN090 form1; + <_ + "г", _ + "ўгі"> => mkN044 form1; + <_ + "с", _ + "ысы"> => mkN050 form1; + <_ + "д", _ + "оды"> => mkN037 form1; + <_ + "р", _ + "ары"> => mkN059 form1; + <_ + "ь", _ + "кці"> => mkN177 form1; + <_ + "ь", _ + "гці"> => mkN177 form1; + <_ + "ь", _ + "аці"> => mkN325 form1; + <_ + "т", _ + "оў"> => mkN001 form1; + <_ + "к", _ + "оў"> => mkN006 form1; + <_ + "л", _ + "оў"> => mkN159 form1; + <_ + "й", _ + "оі"> => mkN017 form1; + <_ + "й", _ + "іі"> => mkN067 form1; + <_ + "с", _ + "оў"> => mkN195 form1; + <_ + "н", _ + "оў"> => mkN038 form1; + <_ + "о", _ + "вы"> => mkN278 form1; + <_ + "т", _ + "ў"> => mkN131 form1; + <_ + "а", _ + "к"> => mkN003 form1; + <_ + "к", _ + "ў"> => mkN063 form1; + <_ + "м", _ + "ў"> => mkN013 form1; + <_ + "л", _ + "ў"> => mkN013 form1; + <_ + "с", _ + "ў"> => mkN013 form1; + <_ + "з", _ + "ў"> => mkN013 form1; + <_ + "н", _ + "ў"> => mkN013 form1; + <_ + "п", _ + "ў"> => mkN029 form1; + <_ + "р", _ + "ў"> => mkN062 form1; + <_ + "х", _ + "ў"> => mkN063 form1; + <_ + "я", _ + "т"> => mkN153 form1; + <_ + "я", _ + "ў"> => mkN154 form1; + <_ + "я", _ + "ь"> => mkN232 form1; + <_ + "я", _ + "й"> => mkN384 form1; + <_ + "ц", _ + "ы"> => mkN299 form1; + <_ + "ь", _ + "й"> => mkN323 form1; + _ => regN form1 + } ; + + regV : Str -> V -- infinitive + = \form -> case form of { + _ + "агчы" => mkV021 form; + _ + "іць" => mkV036 form; + _ + "эць" => mkV048 form; + _ + "ыць" => mkV020 form; + _ + "уць" => mkV045 form; + _ + "ячы" => mkV072 form; + _ + "ьці" => mkV013 form; + _ + "зці" => mkV049 form; + _ + "бці" => mkV137 form; + _ + "сці" => mkV016 form; + _ + "цца" => mkV043 form; + _ + "ма" => mkV013 form; + _ + "шы" => mkV013 form; + _ + "ь" => mkV015 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2V : Str -> Str -> V -- infinitive Imperative;Sg + = \form1, form2 -> case of { + <_ + "іць", _ + "ані"> => mkV096 form1; + <_ + "іць", _ + "яні"> => mkV079 form1; + <_ + "іць", _ + "апі"> => mkV017 form1; + <_ + "іць", _ + "сці"> => mkV078 form1; + <_ + "уць", _ + "кні"> => mkV074 form1; + <_ + "уць", _ + "хні"> => mkV074 form1; + <_ + "іць", _ + "ві"> => mkV001 form1; + <_ + "іць", _ + "бі"> => mkV058 form1; + <_ + "іць", _ + "зі"> => mkV058 form1; + <_ + "іць", _ + "аі"> => mkV155 form1; + <_ + "іць", _ + "пі"> => mkV058 form1; + <_ + "іць", _ + "ці"> => mkV033 form1; + <_ + "іць", _ + "сі"> => mkV050 form1; + <_ + "іць", _ + "ць"> => mkV060 form1; + <_ + "іць", _ + "мь"> => mkV106 form1; + <_ + "ыць", _ + "жы"> => mkV064 form1; + <_ + "іць", _ + "і"> => mkV011 form1; + <_ + "іць", _ + "ў"> => mkV139 form1; + <_ + "іць", _ + "й"> => mkV156 form1; + <_ + "эць", _ + "й"> => mkV015 form1; + <_ + "эць", _ + "ь"> => mkV063 form1; + <_ + "ыць", _ + "ы"> => mkV070 form1; + <_ + "ыць", _ + "й"> => mkV055 form1; + <_ + "ыць", _ + "і"> => mkV089 form1; + <_ + "уць", _ + "ь"> => mkV037 form1; + <_ + "уць", _ + "й"> => mkV055 form1; + <_ + "зці", _ + "ь"> => mkV092 form1; + <_ + "ь", _ + "жуй"> => mkV003 form1; + <_ + "ь", _ + "цай"> => mkV055 form1; + <_ + "ь", _ + "лжы"> => mkV125 form1; + <_ + "ь", _ + "аві"> => mkV102 form1; + <_ + "ь", _ + "ссі"> => mkV145 form1; + <_ + "і", _ + "асі"> => mkV137 form1; + <_ + "ы", _ + "яжы"> => mkV143 form1; + <_ + "а", _ + "іся"> => mkV046 form1; + <_ + "а", _ + "ыся"> => mkV046 form1; + <_ + "а", _ + "ься"> => mkV080 form1; + <_ + "а", _ + "рся"> => mkV087 form1; + <_ + "а", _ + "чся"> => mkV087 form1; + <_ + "ь", _ + "уй"> => mkV029 form1; + <_ + "ь", _ + "ой"> => mkV025 form1; + <_ + "ь", _ + "юй"> => mkV120 form1; + <_ + "ь", _ + "нь"> => mkV063 form1; + <_ + "ь", _ + "шы"> => mkV028 form1; + <_ + "ь", _ + "чы"> => mkV130 form1; + <_ + "ь", _ + "мі"> => mkV039 form1; + <_ + "ь", _ + "ві"> => mkV039 form1; + <_ + "ь", _ + "зі"> => mkV115 form1; + <_ + "ь", _ + "ні"> => mkV102 form1; + <_ + "ь", _ + "бі"> => mkV145 form1; + <_ + "і", _ + "сі"> => mkV049 form1; + <_ + "і", _ + "ці"> => mkV056 form1; + <_ + "ь", _ + "ь"> => mkV018 form1; + <_ + "ь", _ + "ы"> => mkV066 form1; + <_ + "ь", _ + "ч"> => mkV034 form1; + <_ + "ь", _ + "і"> => mkV069 form1; + <_ + "і", _ + "ь"> => mkV054 form1; + _ => regV form1 + } ; + + regA : Str -> A -- s;Nom;('GSg', Masc) + = \form -> case form of { + _ + "які" => mkA006 form; + _ + "пы" => mkA002 form; + _ + "гі" => mkA006 form; + _ + "хі" => mkA006 form; + _ + "ні" => mkA005 form; + _ + "ці" => mkA005 form; + _ + "ыі" => mkA005 form; + _ + "ы" => mkA001 form; + _ + "і" => mkA003 form; + _ + "а" => mkA004 form; + _ + "н" => mkA004 form; + _ + "т" => mkA004 form; + _ + "ў" => mkA004 form; + _ + "ь" => mkA004 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2A : Str -> Str -> A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Neuter) + = \form1, form2 -> case of { + <_ + "гі", _ + "ае"> => mkA003 form1; + <_ + "хі", _ + "ае"> => mkA003 form1; + <_ + "ы", _ + "ое"> => mkA002 form1; + <_ + "і", _ + "яе"> => mkA004 form1; + <_ + "і", _ + "ое"> => mkA006 form1; + _ => regA form1 + } ; + + mkN = overload { + mkN : Str -> N = regN; -- s;Nom;Sg + mkN : Str -> Str -> N = reg2N -- s;Nom;Sg s;Acc;Pl + } ; + + mkN2 = overload { + mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ; + mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ; + } ; + + mkN3 = overload { + mkN3 : N -> N3 = \n -> lin N3 (n ** {c2 = noPrep; c3 = noPrep}) ; + mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 (n ** {c2 = p1; c3 = p2}) ; + } ; + + mkV = overload { + mkV : Str -> V = regV; -- infinitive + mkV : Str -> Str -> V = reg2V -- infinitive Imperative;Sg + } ; + + 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 ; + + mkV2 = overload { + mkV2 : V -> V2 = \v -> lin V2 (v ** {c2 = noPrep}) ; + mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p}) ; + } ; + + mkV3 = overload { + mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2A = overload { + mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2S = overload { + mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2S : V -> Prep -> Prep -> V2S = \v,p1,p2 -> lin V2S (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2Q = overload { + mkV2Q : V -> V2Q = \v -> lin V2Q (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2Q : V -> Prep -> Prep -> V2Q = \v,p1,p2 -> lin V2Q (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2V = overload { + mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkA = overload { + mkA : Str -> A = regA; -- s;Nom;('GSg', Masc) + mkA : Str -> Str -> A = reg2A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Neuter) + } ; + + mkA2 = overload { + mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = noPrep}) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {c2 = p}) ; + } ; + + 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=""} ; + mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + + mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Acc} ; + + mkIAdv : Str -> IAdv = \s -> lin IAdv {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} ; + mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; + mkQuant : Str -> Quant = \s -> lin Quant {s=s} ; + mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; + mkDet : Str -> Det = \s -> lin Det {s=s} ; + mkCard : Str -> Card = \s -> lin Card {s=s} ; + mkConj : Str -> Conj = \s -> lin Conj {s=s} ; + mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; + mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; + + mkLN : Str -> LN = \s -> lin LN {s=s} ; + mkGN : Str -> GN = \s -> lin GN {s=s} ; + mkSN : Str -> SN = \s -> lin SN {s=s} ; + mkPN : Str -> PN = \s -> lin PN {s=s} ; + +} diff --git a/src/belarusian/PhraseBel.gf b/src/belarusian/PhraseBel.gf new file mode 100644 index 00000000..2f5babb9 --- /dev/null +++ b/src/belarusian/PhraseBel.gf @@ -0,0 +1,11 @@ +concrete PhraseBel of Phrase = CatBel ** { +lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttInterj i = i ; + + NoPConj = {s = []} ; + + NoVoc = {s = []} ; +} diff --git a/src/belarusian/ResBel.gf b/src/belarusian/ResBel.gf new file mode 100644 index 00000000..13aaf399 --- /dev/null +++ b/src/belarusian/ResBel.gf @@ -0,0 +1,163 @@ +resource ResBel = { + +param Case = Nom | Acc | Dat | Gen | Loc | Instr ; +param Number = Sg | Pl ; +param Gender = Masc | Fem | Neuter ; +oper Noun = {s: Case => Number => Str; voc: Str; g: Gender} ; -- 2696 +oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,g -> + { s = table { + Nom => table { + Sg => f1 ; + Pl => f2 + } ; + Acc => table { + Sg => f3 ; + Pl => f4 + } ; + Dat => table { + Sg => f5 ; + Pl => f6 + } ; + Gen => table { + Sg => f7 ; + Pl => f8 + } ; + Loc => table { + Sg => f9 ; + Pl => f10 + } ; + Instr => table { + Sg => f11 ; + Pl => f12 + } + } ; + voc = f13 ; + g = g + } ; + + +param Aspect = Imperf | Perf ; +param Person = P1 | P2 | P3 ; +param Tense = Pres | Past ; +oper V = {active: Aspect => {Past: Str; Pres: Person => Number => Str}; imperative: Number => Str; infinitive: Str; participle: Gender => Number => Str; passive: Aspect => Tense => Str} ; -- 703 +oper mkV : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> V = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27 -> + { active = table { + Imperf => { Past = f1 ; + Pres = table { + P1 => table { + Sg => f2 ; + Pl => f3 + } ; + P2 => table { + Sg => f4 ; + Pl => f5 + } ; + P3 => table { + Sg => f6 ; + Pl => f7 + } + } + } ; + Perf => { Past = f8 ; + Pres = table { + P1 => table { + Sg => f9 ; + Pl => f10 + } ; + P2 => table { + Sg => f11 ; + Pl => f12 + } ; + P3 => table { + Sg => f13 ; + Pl => f14 + } + } + } + } ; + imperative = table { + Sg => f15 ; + Pl => f16 + } ; + infinitive = f17 ; + participle = table { + Masc => table { + Sg => f18 ; + Pl => f19 + } ; + Fem => table { + Sg => f20 ; + Pl => f21 + } ; + Neuter => table { + Sg => f22 ; + Pl => f23 + } + } ; + passive = table { + Imperf => table { + Pres => f24 ; + Past => f25 + } ; + Perf => table { + Pres => f26 ; + Past => f27 + } + } + } ; + + +param GenNum = GSg Gender | GPl ; +oper A = {s: Case => GenNum => Str} ; -- 704 +oper mkA : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> A = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24 -> + { s = table { + Nom => table { + GSg Masc => f1 ; + GSg Fem => f2 ; + GSg Neuter => f3 ; + GPl => f4 + } ; + Acc => table { + GSg Masc => f5 ; + GSg Fem => f6 ; + GSg Neuter => f7 ; + GPl => f8 + } ; + Dat => table { + GSg Masc => f9 ; + GSg Fem => f10 ; + GSg Neuter => f11 ; + GPl => f12 + } ; + Gen => table { + GSg Masc => f13 ; + GSg Fem => f14 ; + GSg Neuter => f15 ; + GPl => f16 + } ; + Loc => table { + GSg Masc => f17 ; + GSg Fem => f18 ; + GSg Neuter => f19 ; + GPl => f20 + } ; + Instr => table { + GSg Masc => f21 ; + GSg Fem => f22 ; + GSg Neuter => f23 ; + GPl => f24 + } + } + } ; + + +oper Compl = {s : Str; c : Case} ; +oper noPrep : Compl = {s=""; c=Acc} ; + +oper CommonNoun = Noun ; +oper AdjPhrase = A ; + +} diff --git a/src/bulgarian/DocumentationBul.gf b/src/bulgarian/DocumentationBul.gf index 7b253ecc..ae0f631a 100644 --- a/src/bulgarian/DocumentationBul.gf +++ b/src/bulgarian/DocumentationBul.gf @@ -148,7 +148,7 @@ lin s1= heading1 ("Прилагателно") ; s2= frameTable ( tr (intagAttr "th" "rowspan=\"7\"" "ед.ч." ++ - intagAttr "th" "rowspan=\"3\"" "мн.ч." ++ + intagAttr "th" "rowspan=\"3\"" "м.р." ++ th "нечленувано" ++ td (a.s ! (ASg Masc Indef))) ++ tr (th "непълен член" ++ td (a.s ! (ASg Masc Def))) ++ diff --git a/src/bulgarian/ExtendBul.gf b/src/bulgarian/ExtendBul.gf index 808be483..6873348f 100644 --- a/src/bulgarian/ExtendBul.gf +++ b/src/bulgarian/ExtendBul.gf @@ -316,18 +316,6 @@ lin UseComp_estar = UseComp ; lin ProDrop pro = pro ; -lin AnaphPron np = - case of { - => i_Pron ; - => youSg_Pron ; - => he_Pron ; - => she_Pron ; - => it_Pron ; - => we_Pron ; - => youPl_Pron ; - => they_Pron - } ; - lin TPastSimple = {s = []} ** {t = VPastSimple} ; --# notpresent } diff --git a/src/bulgarian/LangBul.gf b/src/bulgarian/LangBul.gf index 2ddb8632..5af8a89e 100644 --- a/src/bulgarian/LangBul.gf +++ b/src/bulgarian/LangBul.gf @@ -1,4 +1,4 @@ ---# -path=.:../abstract:../common:../api +--# -path=.:../abstract:../common:../api:../prelude concrete LangBul of Lang = GrammarBul, diff --git a/src/bulgarian/MorphoFunsBul.gf b/src/bulgarian/MorphoFunsBul.gf index d199b3c1..4f5bcdd8 100644 --- a/src/bulgarian/MorphoFunsBul.gf +++ b/src/bulgarian/MorphoFunsBul.gf @@ -168,7 +168,7 @@ oper -- prepN2 : N -> Prep -> N2 ; - prepN2 n p = n ** {c2 = p} ; + prepN2 n p = lin N2 (n ** {c2 = p}) ; dirN2 : N -> N2 ; dirN2 n = prepN2 n noPrep ; @@ -178,7 +178,7 @@ oper -- prepN3 : N -> Prep -> Prep -> N3 ; - prepN3 n p q = n ** {c2 = p; c3 = q} ; + prepN3 n p q = lin N3 (n ** {c2 = p; c3 = q}) ; dirN3 : N -> Prep -> N3 ; dirN3 n p = prepN3 n noPrep p ; diff --git a/src/bulgarian/NumeralBul.gf b/src/bulgarian/NumeralBul.gf index 4a4fb4e2..20228705 100644 --- a/src/bulgarian/NumeralBul.gf +++ b/src/bulgarian/NumeralBul.gf @@ -200,12 +200,6 @@ lin pot5decimal d = { _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c (c+"ма") o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + "ти") ; diff --git a/src/catalan/NumeralCat.gf b/src/catalan/NumeralCat.gf index d1bc08be..5b561b0a 100644 --- a/src/catalan/NumeralCat.gf +++ b/src/catalan/NumeralCat.gf @@ -179,12 +179,6 @@ param _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + ":o") ; diff --git a/src/catalan/ParadigmsCat.gf b/src/catalan/ParadigmsCat.gf index 62713fd7..2e4c9744 100644 --- a/src/catalan/ParadigmsCat.gf +++ b/src/catalan/ParadigmsCat.gf @@ -42,14 +42,14 @@ flags -- To abstract over gender names, we define the following identifiers. oper - Gender : Type ; + Gender : PType ; masculine : Gender ; feminine : Gender ; -- To abstract over number names, we define the following. - Number : Type ; + Number : PType ; singular : Number ; plural : Number ; diff --git a/src/chinese/ParadigmsChi.gf b/src/chinese/ParadigmsChi.gf index 881a1497..a52528e5 100644 --- a/src/chinese/ParadigmsChi.gf +++ b/src/chinese/ParadigmsChi.gf @@ -183,7 +183,7 @@ oper mkInterj : Str -> Interj = \s -> lin Interj {s = word s} ; - emptyPrep : Preposition = mkPrep [] ; + emptyPrep : Prep = mkPrep [] ; mkpNP : Str -> CatChi.NP = \s -> lin NP {s = word s ; det = []} ; diff --git a/src/common/ParamX.gf b/src/common/ParamX.gf index 20cd9eba..b99439c1 100644 --- a/src/common/ParamX.gf +++ b/src/common/ParamX.gf @@ -64,5 +64,11 @@ resource ParamX = open Prelude in { param DTail = T1 | T2 | T3 ; + oper + inc : DTail -> DTail = \t -> case t of { + T1 => T2 ; + T2 => T3 ; + T3 => T1 + } ; } diff --git a/src/czech/ResCze.gf b/src/czech/ResCze.gf index 8e6558cc..4e009982 100644 --- a/src/czech/ResCze.gf +++ b/src/czech/ResCze.gf @@ -726,7 +726,6 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> { Ag _ Pl P1 => jarniAdjForms "naše" ** { msnom = "náš" ; - msins = "naším" ; fsgen,mpnom = "naši" ; fsins = "naší" ; pdat, msins = "našim" ; @@ -735,7 +734,6 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> { } ; Ag _ Pl P2 => jarniAdjForms "vaše" ** { msnom = "váš" ; - msins = "vaším" ; fsgen,mpnom = "vaši" ; fsins = "vaší" ; pdat, msins = "vašim" ; diff --git a/src/danish/ExtendDan.gf b/src/danish/ExtendDan.gf index ff07260e..3f8e00a6 100644 --- a/src/danish/ExtendDan.gf +++ b/src/danish/ExtendDan.gf @@ -19,8 +19,14 @@ concrete ExtendDan of Extend = CatDan ** GenRP ] with (Grammar = GrammarDan) - ** { + ** open Prelude in { flags coding=utf8 ; +lin CompoundN n1 n2 = { + s = \\n,s,c => n1.co ++ BIND ++ n2.s ! n ! s ! c ; + co = n1.co ++ BIND ++ n2.co ; + g = n2.g + } ; + } diff --git a/src/danish/NumeralDan.gf b/src/danish/NumeralDan.gf index c817b0ce..f8a764d7 100644 --- a/src/danish/NumeralDan.gf +++ b/src/danish/NumeralDan.gf @@ -7,7 +7,7 @@ concrete NumeralDan of Numeral = CatDan [Numeral,Digits,Decimal] ** open MorphoD lincat Digit = {s : DForm => CardOrd => Str} ; Sub10 = {s : DForm => CardOrd => Str ; n : Number} ; - Sub100, Sub1000, Sub1000000 = + Sub100, Sub1000, Sub1000000, Sub1000000000, Sub1000000000000 = {s : CardOrd => Str ; n : Number} ; lin num x = x ; @@ -45,6 +45,9 @@ lin n9 = mkTal "ni" "nitten" "halvfems" "niende" "halvfemsindstyvende" ; pot3 n = numPl (\\g => n.s ! invNum ++ cardOrd "tusind" "tusinde" ! g) ; pot3plus n m = {s = \\g => n.s ! invNum ++ "tusind" ++ "og" ++ m.s ! g ; n =Pl} ; + pot3as4 n = n ; + pot4as5 n = n ; + lincat Dig = TDigit ; diff --git a/src/dutch/ResDut.gf b/src/dutch/ResDut.gf index 1996380f..c8d009f4 100644 --- a/src/dutch/ResDut.gf +++ b/src/dutch/ResDut.gf @@ -512,8 +512,8 @@ param -- IL2018-02: a whole lot of times we only need number and person, not gender -- maybe switch to PersAgr at some point and halve the number of fields - oper PersAgr : Type = {n : Number ; p : Person} ; - oper Agr : Type = PersAgr ** {g : Gender} ; + oper PersAgr : PType = {n : Number ; p : Person} ; + oper Agr : PType = {n : Number ; p : Person ; g : Gender} ; oper pagr : Agr -> PersAgr = \agr -> { p = agr.p ; n = agr.n } ; diff --git a/src/english/DocumentationEng.gf b/src/english/DocumentationEng.gf index 7df89b43..2470cc45 100644 --- a/src/english/DocumentationEng.gf +++ b/src/english/DocumentationEng.gf @@ -191,7 +191,7 @@ lin VVPresPart => pp "verb+ing" }) ; s2= frameTable ( - tr (th "infitive" ++ td (v.s ! VVF VInf)) ++ + tr (th "infinitive" ++ td (v.s ! VVF VInf)) ++ tr (th "present" ++ td (v.s ! VVF VPres ++ " " ++ v.s ! VVPresNeg)) ++ tr (th "past" ++ td (v.s ! VVF VPast ++ " " ++ v.s ! VVPastNeg)) ++ --# notpresent tr (th "past part." ++ td (v.s ! VVF VPPart)) ++ @@ -229,7 +229,7 @@ lin oper inflVerb : Verb -> Str = \verb -> frameTable ( - tr (th "infitive" ++ td (verb.s ! VInf)) ++ + tr (th "infinitive" ++ td (verb.s ! VInf)) ++ tr (th "present" ++ td (verb.s ! VPres)) ++ tr (th "past" ++ td (verb.s ! VPast)) ++ --# notpresent tr (th "past part." ++ td (verb.s ! VPPart)) ++ diff --git a/src/english/ExtendEng.gf b/src/english/ExtendEng.gf index bb830e0d..033b60c9 100644 --- a/src/english/ExtendEng.gf +++ b/src/english/ExtendEng.gf @@ -182,7 +182,7 @@ concrete ExtendEng of Extend = BaseVPS2 x y = let baseX : OneFinVPS = baseVPS2 x ; - baseY : OneFinVPS = baseVPS y ; + baseY : OneFinVPS = baseVPS (lin VPS y) ; in twoTable2 Order Agr baseX baseY ** {fin = baseX.fin ; c2 = y.c2} ; ConsVPS2 x xs = let baseX : OneFinVPS = baseVPS2 x ; @@ -323,8 +323,8 @@ lin BaseImp = twoTable2 CPolarity ImpForm ; } ; lin - PassVPSlash vps = passVPSlash (lin VPS vps) [] ; - PassAgentVPSlash vps np = passVPSlash (lin VPS vps) ("by" ++ np.s ! NPAcc) ; + PassVPSlash vps = passVPSlash (lin VPSlash vps) [] ; + PassAgentVPSlash vps np = passVPSlash (lin VPSlash vps) ("by" ++ np.s ! NPAcc) ; ProgrVPSlash vp = insertObjc (\\a => vp.ad ! a ++ vp.prp ++ vp.p ++ vp.s2 ! a) (predAux auxBe ** {c2 = vp.c2; gapInMiddle = vp.gapInMiddle; missingAdv = vp.missingAdv}); @@ -500,18 +500,4 @@ lin CardCNCard card cn = lin theyFem_Pron = mkPron "they" "them" "their" "theirs" plural P3 feminine ; lin theyNeutr_Pron = mkPron "they" "them" "their" "theirs" plural P3 nonhuman ; -lin AnaphPron np = - case np.a of { - AgP1 Sg => i_Pron ; - AgP1 Pl => we_Pron ; - AgP2 Sg => youSg_Pron ; - AgP2 Pl => youPl_Pron ; - AgP3Sg Masc => he_Pron ; - AgP3Sg Fem => she_Pron ; - AgP3Sg Neutr => it_Pron ; - AgP3Pl Masc => they_Pron ; - AgP3Pl Fem => theyFem_Pron ; - AgP3Pl Neutr => theyNeutr_Pron - } ; - } diff --git a/src/english/NounEng.gf b/src/english/NounEng.gf index 760460e9..4122341e 100644 --- a/src/english/NounEng.gf +++ b/src/english/NounEng.gf @@ -39,9 +39,9 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in { DetQuant quant num = { s = quant.s ! num.hasCard ! num.n ++ num.s ! quant.isDef ! Nom; - sp = \\g,hasAdj,c => case of { - => quant.sp ! g ! hasAdj ! num.n ! c ++ num.s ! quant.isDef ! Nom ; - _ => quant.s ! True ! num.n ++ num.sp ! quant.isDef ! npcase2case c + sp = \\g,hasAdj,c => case num.hasCard of { + False => quant.sp ! g ! hasAdj ! num.n ! c ++ num.s ! quant.isDef ! Nom ; + _ => quant.s ! True ! num.n ++ num.sp ! quant.isDef ! npcase2case c } ; n = num.n ; hasNum = num.hasCard diff --git a/src/english/NumeralEng.gf b/src/english/NumeralEng.gf index e71e80bd..9820faab 100644 --- a/src/english/NumeralEng.gf +++ b/src/english/NumeralEng.gf @@ -134,12 +134,6 @@ lin PosDecimal d = d ** {hasDot=False} ; _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + "th") ; diff --git a/src/estonian/ExtendEst.gf b/src/estonian/ExtendEst.gf index 3700bb36..96740879 100644 --- a/src/estonian/ExtendEst.gf +++ b/src/estonian/ExtendEst.gf @@ -353,7 +353,7 @@ concrete ExtendEst of Extend = -- : VPSlash -> AP ; -- täna leitud PastPartAP vp = { - s = \\_,_ => vp2adv ; + s = \\_,_ => vp2adv True (PastPart Pass) ; infl = Invariable } ; @@ -366,7 +366,7 @@ concrete ExtendEst of Extend = -- : VPSlash -> NP -> AP -- hobisukeldujate poolt leitud (süvaveepomm) PastPartAgentAP vp np = { s = \\_,_ => appCompl True Pos by8agent_Prep np - ++ vp2adv ; + ++ vp2adv True (PastPart Pass) ; infl = Invariable } ; @@ -374,7 +374,7 @@ concrete ExtendEst of Extend = -- : AP -> VP -> Cl ; -- it is good to walk / on hea kõndida PredAPVP ap vp = - let heaOllaVP : VP = insertObj (\\_,_,_ => ap.s ! True ! NCase Sg Nom) vp ; -- puts AP into the s2 field + let heaOllaVP : VP = lin VP (insertObj (\\_,_,_ => ap.s ! True ! NCase Sg Nom) vp) ; -- puts AP into the s2 field heaOllaComp : Comp = CompVP ASimul PPos heaOllaVP ; -- chooses InfDa, fixes word order heaOlla : VP = UseComp heaOllaComp -- looks silly, but I want to reuse the abstract syntax funs :-P in existClause noSubj (agrP3 Sg) heaOlla ; diff --git a/src/estonian/ParadigmsEst.gf b/src/estonian/ParadigmsEst.gf index 0e8723f4..07cdadf8 100644 --- a/src/estonian/ParadigmsEst.gf +++ b/src/estonian/ParadigmsEst.gf @@ -970,9 +970,9 @@ oper mkV2Q v p = lin V2Q (mk2V2 v p) ; mkAS a = a ; - mkA2S a p = mkA2 a p ; + mkA2S a p = lin A (mkA2 a p) ; mkAV a = a ; - mkA2V a p = mkA2 a p ; + mkA2V a p = lin A (mkA2 a p) ; mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; diff --git a/src/faroese/AdjectiveFao.gf b/src/faroese/AdjectiveFao.gf new file mode 100644 index 00000000..40d87ff0 --- /dev/null +++ b/src/faroese/AdjectiveFao.gf @@ -0,0 +1,4 @@ +concrete AdjectiveFao of Adjective = CatFao ** { +lin + PositA a = a ; +} diff --git a/src/faroese/AllFao.gf b/src/faroese/AllFao.gf new file mode 100644 index 00000000..d388c338 --- /dev/null +++ b/src/faroese/AllFao.gf @@ -0,0 +1,4 @@ +concrete AllFao of AllFaoAbs = + LangFao + ** + {} ; diff --git a/src/faroese/AllFaoAbs.gf b/src/faroese/AllFaoAbs.gf new file mode 100644 index 00000000..ead6d4f4 --- /dev/null +++ b/src/faroese/AllFaoAbs.gf @@ -0,0 +1,3 @@ +abstract AllFaoAbs = + Lang + ** {} \ No newline at end of file diff --git a/src/faroese/CatFao.gf b/src/faroese/CatFao.gf new file mode 100644 index 00000000..42134aff --- /dev/null +++ b/src/faroese/CatFao.gf @@ -0,0 +1,20 @@ +concrete CatFao of Cat = CommonX ** open ResFao in { + +lincat N = Noun ; +lincat N2 = Noun ** {c2 : Compl} ; +lincat N3 = Noun ** {c2,c3 : Compl} ; +lincat A = Adj ; +lincat A2 = Adj ** {c2 : Compl} ; +lincat V = Verb ; +lincat VV,VS,VQ,VA = Verb ; +lincat V2 = Verb ** {c2 : Compl} ; +lincat V3,V2A,V2S,V2Q,V2V = Verb ** {c2,c3 : Compl} ; +lincat Prep = Compl ; +lincat CN = CommonNoun ; +lincat AP = AdjPhrase ; +lincat S = {s : Str} ; + +lincat LN,SN,GN,PN = {s : Str} ; + +linref V = \v -> v.Nonfinite ++ v.particle ; +} diff --git a/src/faroese/DocumentationFao.gf b/src/faroese/DocumentationFao.gf new file mode 100644 index 00000000..1ded48a9 --- /dev/null +++ b/src/faroese/DocumentationFao.gf @@ -0,0 +1,87 @@ +concrete DocumentationFao of Documentation = CatFao ** open + ResFao, 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="" ; + s2=frameTable ( + tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Indef" ++ th "Def") ++ + tr (intagAttr "th" "rowspan=\"4\"" "Sg" ++ + th "Nom" ++ td (x.s ! Indef ! Sg ! Nom) ++ td (x.s ! Def ! Sg ! Nom)) ++ + tr (th "Acc" ++ td (x.s ! Indef ! Sg ! Acc) ++ td (x.s ! Def ! Sg ! Acc)) ++ + tr (th "Dat" ++ td (x.s ! Indef ! Sg ! Dat) ++ td (x.s ! Def ! Sg ! Dat)) ++ + tr (th "Gen" ++ td (x.s ! Indef ! Sg ! Gen) ++ td (x.s ! Def ! Sg ! Gen)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Pl" ++ + th "Nom" ++ td (x.s ! Indef ! Pl ! Nom) ++ td (x.s ! Def ! Pl ! Nom)) ++ + tr (th "Acc" ++ td (x.s ! Indef ! Pl ! Acc) ++ td (x.s ! Def ! Pl ! Acc)) ++ + tr (th "Dat" ++ td (x.s ! Indef ! Pl ! Dat) ++ td (x.s ! Def ! Pl ! Dat)) ++ + tr (th "Gen" ++ td (x.s ! Indef ! Pl ! Gen) ++ td (x.s ! Def ! Pl ! Gen))) ; + s3=[] + } ; +lin + InflectionA,InflectionA2 = \x -> { + t="a" ; + s1="" ; + s2=frameTable ( + tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Masc" ++ th "Fem" ++ th "Neutr") ++ + tr (intagAttr "th" "rowspan=\"4\"" "Sg" ++ + th "Nom" ++ td (x.s ! Masc ! Sg ! Nom) ++ td (x.s ! Fem ! Sg ! Nom) ++ td (x.s ! Neutr ! Sg ! Nom)) ++ + tr (th "Acc" ++ td (x.s ! Masc ! Sg ! Acc) ++ td (x.s ! Fem ! Sg ! Acc) ++ td (x.s ! Neutr ! Sg ! Acc)) ++ + tr (th "Dat" ++ td (x.s ! Masc ! Sg ! Dat) ++ td (x.s ! Fem ! Sg ! Dat) ++ td (x.s ! Neutr ! Sg ! Dat)) ++ + tr (th "Gen" ++ td (x.s ! Masc ! Sg ! Gen) ++ td (x.s ! Fem ! Sg ! Gen) ++ td (x.s ! Neutr ! Sg ! Gen)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Pl" ++ + th "Nom" ++ td (x.s ! Masc ! Pl ! Nom) ++ td (x.s ! Fem ! Pl ! Nom) ++ td (x.s ! Neutr ! Pl ! Nom)) ++ + tr (th "Acc" ++ td (x.s ! Masc ! Pl ! Acc) ++ td (x.s ! Fem ! Pl ! Acc) ++ td (x.s ! Neutr ! Pl ! Acc)) ++ + tr (th "Dat" ++ td (x.s ! Masc ! Pl ! Dat) ++ td (x.s ! Fem ! Pl ! Dat) ++ td (x.s ! Neutr ! Pl ! Dat)) ++ + tr (th "Gen" ++ td (x.s ! Masc ! Pl ! Gen) ++ td (x.s ! Fem ! Pl ! Gen) ++ td (x.s ! Neutr ! Pl ! Gen))) ; + s3=[] + } ; +lin + InflectionV,InflectionV2,InflectionV2A,InflectionV2Q,InflectionV2S,InflectionV2V,InflectionV3,InflectionVA,InflectionVQ,InflectionVS,InflectionVV = \x -> { + t="v" ; + s1="" ; + s2=heading2 "Converb" ++ + paragraph x.Converb ++ + heading2 "Imperative" ++ + frameTable ( + tr (th "Sg" ++ td (x.Imperative_Jussive ! Sg)) ++ + tr (th "Pl" ++ td (x.Imperative_Jussive ! Pl))) ++ + heading2 "Indicative" ++ + frameTable ( + tr (intagAttr "th" "rowspan=\"4\"" "Pres" ++ th "Sg P1" ++ td (x.Indicative ! Pres ! PSg P1)) ++ + tr (th "Sg P2" ++ td (x.Indicative ! Pres ! PSg P2)) ++ + tr (th "Sg P3" ++ td (x.Indicative ! Pres ! PSg P3)) ++ + tr (th "Pl" ++ td (x.Indicative ! Pres ! PPl)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Past" ++ th "Sg P1" ++ td (x.Indicative ! Past ! PSg P1)) ++ + tr (th "Sg P2" ++ td (x.Indicative ! Past ! PSg P2)) ++ + tr (th "Sg P3" ++ td (x.Indicative ! Past ! PSg P3)) ++ + tr (th "Pl" ++ td (x.Indicative ! Past ! PPl))) ++ + heading2 "Nonfinite" ++ + paragraph x.Nonfinite ++ + heading2 "Participle" ++ + frameTable ( + tr (th "Pres" ++ td (x.Participle ! Pres)) ++ + tr (th "Past" ++ td (x.Participle ! Past))) ; + s3=[] + } ; +lin + InflectionAdA,InflectionAdN,InflectionAdV,InflectionAdv = \x -> {t="adv"; s1=""; s2=x.s; s3=""} ; + + InflectionPrep = \x -> {t="prep"; s1=""; s2=x.s; 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/faroese/GrammarFao.gf b/src/faroese/GrammarFao.gf new file mode 100644 index 00000000..1cee1fed --- /dev/null +++ b/src/faroese/GrammarFao.gf @@ -0,0 +1,6 @@ +concrete GrammarFao of Grammar = + TenseX, + PhraseFao, + NounFao, + AdjectiveFao ** { +} \ No newline at end of file diff --git a/src/faroese/LangFao.gf b/src/faroese/LangFao.gf new file mode 100644 index 00000000..8579e52b --- /dev/null +++ b/src/faroese/LangFao.gf @@ -0,0 +1,10 @@ +--# -path=.:../abstract +concrete LangFao of Lang = + GrammarFao, + LexiconFao + ,DocumentationFao --# notpresent + ** { + +flags startcat = Phr ; + +} \ No newline at end of file diff --git a/src/faroese/LexiconFao.gf b/src/faroese/LexiconFao.gf new file mode 100644 index 00000000..4d14c39a --- /dev/null +++ b/src/faroese/LexiconFao.gf @@ -0,0 +1,2 @@ +concrete LexiconFao of Lexicon = CatFao ** open ParadigmsFao in { +} \ No newline at end of file diff --git a/src/faroese/MorphoFao.gf b/src/faroese/MorphoFao.gf new file mode 100644 index 00000000..2b453a38 --- /dev/null +++ b/src/faroese/MorphoFao.gf @@ -0,0 +1,12292 @@ +resource MorphoFao = open CatFao, ResFao, Predef in { + +oper + +mkN001 : Str -> N ; +mkN001 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"a" ; + Dat => base_1+"a" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"an" ; + Dat => base_1+"anum" ; + Gen => base_1+"ans" + } ; + Pl => table { + Nom => base_1+"arnir" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN001" + } ; + +mkN002 : Str -> N ; +mkN002 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ð" ; + Acc => base_1+"ð" ; + Dat => base_1+"num" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN002" + } ; + +mkN003 : Str -> N ; +mkN003 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"arnir" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN003" + } ; + +mkN004 : Str -> N ; +mkN004 base = + case base of { + base_1+"a"+base_2@("tn"|"rn"|"rp"|"lv"|"vn"|"ld"|"rk"|"rð"|"rv"|"gn"|?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"ið" ; + Acc => base_1+"a"+base_2+"ið" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ini" ; + Acc => base_1+"ø"+base_2+"ini" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN004" + } ; + +mkN005 : Str -> N ; +mkN005 base = + case base of { + base_1+"a" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a" ; + Acc => base_1+"u" ; + Dat => base_1+"u" ; + Gen => base_1+"u" + } ; + Pl => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"an" ; + Acc => base_1+"una" ; + Dat => base_1+"uni" ; + Gen => base_1+"unnar" + } ; + Pl => table { + Nom => base_1+"urnar" ; + Acc => base_1+"urnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN005" + } ; + +mkN006 : Str -> N ; +mkN006 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"ina" ; + Dat => base_1+"ini" ; + Gen => base_1+"arinnar" + } ; + Pl => table { + Nom => base_1+"arnar" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN006" + } ; + +mkN007 : Str -> N ; +mkN007 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"in" ; + Acc => base_1+"ina" ; + Dat => base_1+"ini" ; + Gen => base_1+"arinnar" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN007" + } ; + +mkN008 : Str -> N ; +mkN008 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN008" + } ; + +mkN009 : Str -> N ; +mkN009 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"arins" + } ; + Pl => table { + Nom => base_1+"irnir" ; + Acc => base_1+"irnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN009" + } ; + +mkN010 : Str -> N ; +mkN010 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"arnir" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN010" + } ; + +mkN011 : Str -> N ; +mkN011 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+"u"+base_2 ; + Gen => base_1+"a"+base_2 + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"u"+base_2+"in" ; + Acc => base_1+base_2+"ina" ; + Dat => base_1+base_2+"ini" ; + Gen => base_1+"a"+base_2+"innar" + } ; + Pl => table { + Nom => base_1+base_2+"arnar" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN011" + } ; + +mkN012 : Str -> N ; +mkN012 base = + case base of { + base_1+"a" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a" ; + Acc => base_1+"u" ; + Dat => base_1+"u" ; + Gen => base_1+"u" + } ; + Pl => table { + Nom => base_1+"an" ; + Acc => base_1+"una" ; + Dat => base_1+"uni" ; + Gen => base_1+"unnar" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN012" + } ; + +mkN013 : Str -> N ; +mkN013 base = + case base of { + "ær" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "ær" ; + Acc => "ær" ; + Dat => "ær" ; + Gen => "ær" + } ; + Pl => table { + Nom => "ær" ; + Acc => "ær" ; + Dat => "óm" ; + Gen => "áa" + } + } ; + Def => table { + Sg => table { + Nom => "ærin" ; + Acc => "ærina" ; + Dat => "ærini" ; + Gen => "ærinnar" + } ; + Pl => table { + Nom => "ærnar" ; + Acc => "ærnar" ; + Dat => "ónum" ; + Gen => "áanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN013" + } ; + +mkN014 : Str -> N ; +mkN014 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"i" ; + Dat => base_1+"i" ; + Gen => base_1+"is" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"isins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN014" + } ; + +mkN015 : Str -> N ; +mkN015 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"ina" ; + Dat => base_1+"ini" ; + Gen => base_1+"arinnar" + } ; + Pl => table { + Nom => base_1+"irnar" ; + Acc => base_1+"irnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN015" + } ; + +mkN016 : Str -> N ; +mkN016 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"arins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN016" + } ; + +mkN017 : Str -> N ; +mkN017 base = + case base of { + base_1+"a"+base_2@(?+?)+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnir" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN017" + } ; + +mkN018 : Str -> N ; +mkN018 base = + case base of { + base_1+"ø"+base_2@("v"|"k"|(?+?)) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"in" ; + Acc => base_1+"ø"+base_2+"ina" ; + Dat => base_1+"ø"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"irnar" ; + Acc => base_1+"a"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN018" + } ; + +mkN019 : Str -> N ; +mkN019 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN019" + } ; + +mkN020 : Str -> N ; +mkN020 base = + case base of { + "a"+base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "a"+base_1 ; + Acc => "a"+base_1 ; + Dat => "a"+base_1+"i" ; + Gen => "a"+base_1+"s" + } ; + Pl => table { + Nom => "ø"+base_1 ; + Acc => "ø"+base_1 ; + Dat => "ø"+base_1+"um" ; + Gen => "a"+base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => "a"+base_1+"ið" ; + Acc => "a"+base_1+"ið" ; + Dat => "a"+base_1+"inum" ; + Gen => "a"+base_1+"sins" + } ; + Pl => table { + Nom => "ø"+base_1+"ini" ; + Acc => "ø"+base_1+"ini" ; + Dat => "ø"+base_1+"unum" ; + Gen => "a"+base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN020" + } ; + +mkN021 : Str -> N ; +mkN021 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"a" ; + Dat => base_1+"a" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"in" ; + Acc => base_1+"an" ; + Dat => base_1+"anum" ; + Gen => base_1+"ans" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN021" + } ; + +mkN022 : Str -> N ; +mkN022 base = + case base of { + base_1+"æ" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"æ" ; + Acc => base_1+"æ" ; + Dat => base_1+"æi" ; + Gen => base_1+"æs" + } ; + Pl => table { + Nom => base_1+"ø" ; + Acc => base_1+"ø" ; + Dat => base_1+"øum" ; + Gen => base_1+"æa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"æið" ; + Acc => base_1+"æið" ; + Dat => base_1+"æinum" ; + Gen => base_1+"æsins" + } ; + Pl => table { + Nom => base_1+"øini" ; + Acc => base_1+"øini" ; + Dat => base_1+"øunum" ; + Gen => base_1+"æanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN022" + } ; + +mkN023 : Str -> N ; +mkN023 base = + case base of { + "a"+base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "a"+base_1+"u"+base_2 ; + Acc => "a"+base_1+"u"+base_2 ; + Dat => "a"+base_1+base_2+"i" ; + Gen => "a"+base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => "a"+base_1+base_2+"ar" ; + Acc => "a"+base_1+base_2+"ar" ; + Dat => "ø"+base_1+base_2+"um" ; + Gen => "a"+base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => "a"+base_1+"u"+base_2+"in" ; + Acc => "a"+base_1+"u"+base_2+"in" ; + Dat => "a"+base_1+base_2+"inum" ; + Gen => "a"+base_1+"u"+base_2+"sins" + } ; + Pl => table { + Nom => "a"+base_1+base_2+"arnir" ; + Acc => "a"+base_1+base_2+"arnar" ; + Dat => "ø"+base_1+base_2+"unum" ; + Gen => "a"+base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN023" + } ; + +mkN024 : Str -> N ; +mkN024 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"u"+base_2+"in" ; + Acc => base_1+"u"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"u"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN024" + } ; + +mkN025 : Str -> N ; +mkN025 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"n" ; + Acc => base_1+"na" ; + Dat => base_1+"ni" ; + Gen => base_1+"nnar" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN025" + } ; + +mkN026 : Str -> N ; +mkN026 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN026" + } ; + +mkN027 : Str -> N ; +mkN027 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"num" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN027" + } ; + +mkN028 : Str -> N ; +mkN028 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN028" + } ; + +mkN029 : Str -> N ; +mkN029 base = + case base of { + base_1+"kur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"kur" ; + Acc => base_1+"k" ; + Dat => base_1+"ki" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"kar" ; + Acc => base_1+"kar" ; + Dat => base_1+"kum" ; + Gen => base_1+"ka" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"kurin" ; + Acc => base_1+"kin" ; + Dat => base_1+"kinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"karnir" ; + Acc => base_1+"karnar" ; + Dat => base_1+"kunum" ; + Gen => base_1+"kanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN029" + } ; + +mkN030 : Str -> N ; +mkN030 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"u"+base_2+"in" ; + Acc => base_1+"u"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"u"+base_2+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN030" + } ; + +mkN031 : Str -> N ; +mkN031 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"i" ; + Dat => base_1+"i" ; + Gen => base_1+"is" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"isins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN031" + } ; + +mkN032 : Str -> N ; +mkN032 base = + case base of { + base_1+"aður" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"aður" ; + Acc => base_1+"ann" ; + Dat => base_1+"anni" ; + Gen => base_1+"ans" + } ; + Pl => table { + Nom => base_1+"enn" ; + Acc => base_1+"enn" ; + Dat => base_1+"onnum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"aðurin" ; + Acc => base_1+"annin" ; + Dat => base_1+"annum" ; + Gen => base_1+"ansins" + } ; + Pl => table { + Nom => base_1+"enninir" ; + Acc => base_1+"enninar" ; + Dat => base_1+"onnunum" ; + Gen => base_1+"annanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN032" + } ; + +mkN033 : Str -> N ; +mkN033 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"um" ; + Gen => base_1+"na" + } ; + Pl => table { + Nom => base_1+"uni" ; + Acc => base_1+"uni" ; + Dat => base_1+"unum" ; + Gen => base_1+"nanna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN033" + } ; + +mkN034 : Str -> N ; +mkN034 base = + case base of { + base_1+"æ"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"æ"+base_2 ; + Acc => base_1+"æ"+base_2 ; + Dat => base_1+"æ"+base_2+"i" ; + Gen => base_1+"æ"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"æ"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"æ"+base_2+"ið" ; + Acc => base_1+"æ"+base_2+"ið" ; + Dat => base_1+"æ"+base_2+"inum" ; + Gen => base_1+"æ"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ini" ; + Acc => base_1+"ø"+base_2+"ini" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"æ"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN034" + } ; + +mkN035 : Str -> N ; +mkN035 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN035" + } ; + +mkN036 : Str -> N ; +mkN036 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"irnir" ; + Acc => base_1+"irnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN036" + } ; + +mkN037 : Str -> N ; +mkN037 base = + case base of { + base_1+"pur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"pur" ; + Acc => base_1+"p" ; + Dat => base_1+"pi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"par" ; + Acc => base_1+"par" ; + Dat => base_1+"pum" ; + Gen => base_1+"pa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"purin" ; + Acc => base_1+"pin" ; + Dat => base_1+"pinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"parnir" ; + Acc => base_1+"parnar" ; + Dat => base_1+"punum" ; + Gen => base_1+"panna" + } + } + } + }; + _ => error "Can't apply paradigm mkN037" + } ; + +mkN038 : Str -> N ; +mkN038 base = + case base of { + base_1+"a"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"in" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN038" + } ; + +mkN039 : Str -> N ; +mkN039 base = + case base of { + base_1+base_2@?+"l" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+base_2+"l" ; + Acc => base_1+base_2+"l" ; + Dat => base_1+"l"+base_2 ; + Gen => base_1+base_2+"ls" + } ; + Pl => table { + Nom => base_1+base_2+"lin" ; + Acc => base_1+base_2+"lin" ; + Dat => base_1+"l"+base_2+"num" ; + Gen => base_1+base_2+"lsins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN039" + } ; + +mkN040 : Str -> N ; +mkN040 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"ja" ; + Dat => base_1+"ja" ; + Gen => base_1+"ja" + } ; + Pl => table { + Nom => base_1+"jar" ; + Acc => base_1+"jar" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"jan" ; + Dat => base_1+"janum" ; + Gen => base_1+"jans" + } ; + Pl => table { + Nom => base_1+"jarnir" ; + Acc => base_1+"jarnar" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN040" + } ; + +mkN041 : Str -> N ; +mkN041 base = + case base of { + base_1+"ógv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ógv" ; + Acc => base_1+"ógv" ; + Dat => base_1+"ógv" ; + Gen => base_1+"óar" + } ; + Pl => table { + Nom => base_1+"øur" ; + Acc => base_1+"øur" ; + Dat => base_1+"óm" ; + Gen => base_1+"ógva" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ógvin" ; + Acc => base_1+"ónna" ; + Dat => base_1+"ónni" ; + Gen => base_1+"óarinnar" + } ; + Pl => table { + Nom => base_1+"ørnar" ; + Acc => base_1+"ørnar" ; + Dat => base_1+"ónum" ; + Gen => base_1+"ógvanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN041" + } ; + +mkN042 : Str -> N ; +mkN042 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+base_2+"ið" ; + Acc => base_1+base_2+"ið" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"u"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"ini" ; + Acc => base_1+base_2+"ini" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN042" + } ; + +mkN043 : Str -> N ; +mkN043 base = + case base of { + base_1+"nur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"nur" ; + Acc => base_1+"n" ; + Dat => base_1+"ni" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"nurin" ; + Acc => base_1+"nin" ; + Dat => base_1+"ninum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"narnir" ; + Acc => base_1+"narnar" ; + Dat => base_1+"nunum" ; + Gen => base_1+"nanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN043" + } ; + +mkN044 : Str -> N ; +mkN044 base = + case base of { + base_1+"a" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a" ; + Acc => base_1+"a" ; + Dat => base_1+"a" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"um" ; + Gen => base_1+"na" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"að" ; + Acc => base_1+"að" ; + Dat => base_1+"anum" ; + Gen => base_1+"ans" + } ; + Pl => table { + Nom => base_1+"uni" ; + Acc => base_1+"uni" ; + Dat => base_1+"unum" ; + Gen => base_1+"nanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN044" + } ; + +mkN045 : Str -> N ; +mkN045 base = + case base of { + base_1+"i"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i"+base_2 ; + Acc => base_1+"i"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"i"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"i"+base_2+"in" ; + Acc => base_1+"i"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"i"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN045" + } ; + +mkN046 : Str -> N ; +mkN046 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN046" + } ; + +mkN047 : Str -> N ; +mkN047 base = + case base of { + base_1+"ú"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ú"+base_2 ; + Acc => base_1+"ú"+base_2 ; + Dat => base_1+"ú"+base_2 ; + Gen => base_1+"ú"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ý"+base_2 ; + Acc => base_1+"ý"+base_2 ; + Dat => base_1+"ú"+base_2+"um" ; + Gen => base_1+"ú"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ú"+base_2+"in" ; + Acc => base_1+"ú"+base_2+"ina" ; + Dat => base_1+"ú"+base_2+"ini" ; + Gen => base_1+"ú"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"ý"+base_2+"nar" ; + Acc => base_1+"ý"+base_2+"nar" ; + Dat => base_1+"ú"+base_2+"unum" ; + Gen => base_1+"ú"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN047" + } ; + +mkN048 : Str -> N ; +mkN048 base = + case base of { + base_1+"tur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"tur" ; + Acc => base_1+"t" ; + Dat => base_1+"ti" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"tir" ; + Acc => base_1+"tir" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"turin" ; + Acc => base_1+"tin" ; + Dat => base_1+"tinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"tirnir" ; + Acc => base_1+"tirnar" ; + Dat => base_1+"tunum" ; + Gen => base_1+"tanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN048" + } ; + +mkN049 : Str -> N ; +mkN049 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"num" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN049" + } ; + +mkN050 : Str -> N ; +mkN050 base = + case base of { + base_1+"á"+base_2@("ð"|(?+?))+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"á"+base_2+"ur" ; + Acc => base_1+"á"+base_2 ; + Dat => base_1+"á"+base_2+"i" ; + Gen => base_1+"á"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"æ"+base_2+"ir" ; + Acc => base_1+"æ"+base_2+"ir" ; + Dat => base_1+"á"+base_2+"um" ; + Gen => base_1+"á"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"á"+base_2+"urin" ; + Acc => base_1+"á"+base_2+"in" ; + Dat => base_1+"á"+base_2+"inum" ; + Gen => base_1+"á"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"æ"+base_2+"irnir" ; + Acc => base_1+"æ"+base_2+"irnar" ; + Dat => base_1+"á"+base_2+"unum" ; + Gen => base_1+"á"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN050" + } ; + +mkN051 : Str -> N ; +mkN051 base = + case base of { + base_1+"o"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ir" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"in" ; + Acc => base_1+"o"+base_2+"ina" ; + Dat => base_1+"o"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"irnar" ; + Acc => base_1+"a"+base_2+"irnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN051" + } ; + +mkN052 : Str -> N ; +mkN052 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"irnir" ; + Acc => base_1+"a"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN052" + } ; + +mkN053 : Str -> N ; +mkN053 base = + case base of { + base_1+"ir" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"irnar" ; + Acc => base_1+"irnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN053" + } ; + +mkN054 : Str -> N ; +mkN054 base = + case base of { + base_1+"m" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"m" ; + Acc => base_1+"m" ; + Dat => base_1+"mi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"m" ; + Acc => base_1+"m" ; + Dat => base_1+"mum" ; + Gen => base_1+"ma" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"mið" ; + Acc => base_1+"mið" ; + Dat => base_1+"minum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"mini" ; + Acc => base_1+"mini" ; + Dat => base_1+"munum" ; + Gen => base_1+"manna" + } + } + } + }; + _ => error "Can't apply paradigm mkN054" + } ; + +mkN055 : Str -> N ; +mkN055 base = + case base of { + base_1+"ó"+base_2@(?+?)+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"i" ; + Acc => base_1+"ó"+base_2+"a" ; + Dat => base_1+"ó"+base_2+"a" ; + Gen => base_1+"ó"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2+"ur" ; + Dat => base_1+"ó"+base_2+"um" ; + Gen => base_1+"ó"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"in" ; + Acc => base_1+"ó"+base_2+"an" ; + Dat => base_1+"ó"+base_2+"anum" ; + Gen => base_1+"ó"+base_2+"ans" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"urnir" ; + Acc => base_1+"ø"+base_2+"urnar" ; + Dat => base_1+"ó"+base_2+"unum" ; + Gen => base_1+"ó"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN055" + } ; + +mkN056 : Str -> N ; +mkN056 base = + case base of { + base_1+"a"+base_2@?+"lur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"lur" ; + Acc => base_1+"a"+base_2+"l" ; + Dat => base_1+"a"+base_2+"li" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"lar" ; + Acc => base_1+"a"+base_2+"lar" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"la" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"lurin" ; + Acc => base_1+"a"+base_2+"lin" ; + Dat => base_1+"a"+base_2+"linum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"larnir" ; + Acc => base_1+"a"+base_2+"larnar" ; + Dat => base_1+"ø"+base_2+"lunum" ; + Gen => base_1+"a"+base_2+"lanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN056" + } ; + +mkN057 : Str -> N ; +mkN057 base = + case base of { + base_1+"ø"+base_2@("ð"|(?+?))+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"i" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"urin" ; + Acc => base_1+"ø"+base_2+"in" ; + Dat => base_1+"ø"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"arins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN057" + } ; + +mkN058 : Str -> N ; +mkN058 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"urnar" ; + Acc => base_1+"urnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN058" + } ; + +mkN059 : Str -> N ; +mkN059 base = + case base of { + base_1+"ó"+base_2@?+"i"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"i"+base_3 ; + Acc => base_1+"ó"+base_2+"u"+base_3 ; + Dat => base_1+"ó"+base_2+"u"+base_3 ; + Gen => base_1+"ó"+base_2+"u"+base_3 + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"ø"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"i"+base_3+"in" ; + Acc => base_1+"ó"+base_2+"u"+base_3+"in" ; + Dat => base_1+"ó"+base_2+"u"+base_3+"num" ; + Gen => base_1+"ó"+base_2+"u"+base_3+"ins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"nir" ; + Acc => base_1+"ø"+base_2+"u"+base_3+"nar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"ø"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN059" + } ; + +mkN060 : Str -> N ; +mkN060 base = + case base of { + base_1+"o"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2+"ur" ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"y"+base_2+"i" ; + Gen => base_1+"o"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"y"+base_2+"ir" ; + Acc => base_1+"y"+base_2+"ir" ; + Dat => base_1+"y"+base_2+"um" ; + Gen => base_1+"o"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"urin" ; + Acc => base_1+"o"+base_2+"in" ; + Dat => base_1+"y"+base_2+"inum" ; + Gen => base_1+"o"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"y"+base_2+"irnir" ; + Acc => base_1+"y"+base_2+"irnar" ; + Dat => base_1+"y"+base_2+"unum" ; + Gen => base_1+"o"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN060" + } ; + +mkN061 : Str -> N ; +mkN061 base = + case base of { + base_1+"ó"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2 ; + Acc => base_1+"ó"+base_2 ; + Dat => base_1+"ó"+base_2 ; + Gen => base_1+"ó"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2+"ur" ; + Dat => base_1+"ó"+base_2+"um" ; + Gen => base_1+"ó"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"in" ; + Acc => base_1+"ó"+base_2+"ina" ; + Dat => base_1+"ó"+base_2+"ini" ; + Gen => base_1+"ó"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"urnar" ; + Acc => base_1+"ø"+base_2+"urnar" ; + Dat => base_1+"ó"+base_2+"unum" ; + Gen => base_1+"ó"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN061" + } ; + +mkN062 : Str -> N ; +mkN062 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"a"+base_2+"num" ; + Gen => base_1+"a"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"irnir" ; + Acc => base_1+"a"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN062" + } ; + +mkN063 : Str -> N ; +mkN063 base = + case base of { + base_1+"g" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gið" ; + Acc => base_1+"gið" ; + Dat => base_1+"ginum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN063" + } ; + +mkN064 : Str -> N ; +mkN064 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"jar" + } ; + Pl => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"jarins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN064" + } ; + +mkN065 : Str -> N ; +mkN065 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"e"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"e"+base_2+"num" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnir" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN065" + } ; + +mkN066 : Str -> N ; +mkN066 base = + case base of { + base_1+"a"+base_2@("l"|(?+?))+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnir" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN066" + } ; + +mkN067 : Str -> N ; +mkN067 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"irnir" ; + Acc => base_1+"irnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN067" + } ; + +mkN068 : Str -> N ; +mkN068 base = + case base of { + base_1+"k" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"k" ; + Acc => base_1+"k" ; + Dat => base_1+"ki" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"k" ; + Acc => base_1+"k" ; + Dat => base_1+"kum" ; + Gen => base_1+"ka" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"kið" ; + Acc => base_1+"kið" ; + Dat => base_1+"kinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"kini" ; + Acc => base_1+"kini" ; + Dat => base_1+"kunum" ; + Gen => base_1+"kanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN068" + } ; + +mkN069 : Str -> N ; +mkN069 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN069" + } ; + +mkN070 : Str -> N ; +mkN070 base = + case base of { + base_1+"o"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2 ; + Gen => base_1+"o"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"ur" ; + Acc => base_1+"e"+base_2+"ur" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"o"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"in" ; + Acc => base_1+"o"+base_2+"ina" ; + Dat => base_1+"o"+base_2+"ini" ; + Gen => base_1+"o"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"urnar" ; + Acc => base_1+"e"+base_2+"urnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"o"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN070" + } ; + +mkN071 : Str -> N ; +mkN071 base = + case base of { + base_1+"ó"+base_2@?+"ti"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"ti"+base_3 ; + Acc => base_1+"ó"+base_2+"tu"+base_3 ; + Dat => base_1+"ó"+base_2+"tu"+base_3 ; + Gen => base_1+"ó"+base_2+"tu"+base_3 + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"ø"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"ti"+base_3+"in" ; + Acc => base_1+"ót"+base_2+base_3+"ina" ; + Dat => base_1+"ót"+base_2+base_3+"ini" ; + Gen => base_1+"ó"+base_2+"tu"+base_3+"innar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"nar" ; + Acc => base_1+"ø"+base_2+"u"+base_3+"nar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"ø"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN071" + } ; + +mkN072 : Str -> N ; +mkN072 base = + case base of { + base_1+"o"+base_2@(?+?)+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2+"ur" ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"ei"+base_2+"i" ; + Gen => base_1+"ei"+base_2+"jar" + } ; + Pl => table { + Nom => base_1+"ei"+base_2+"ir" ; + Acc => base_1+"ei"+base_2+"ir" ; + Dat => base_1+"ei"+base_2+"jum" ; + Gen => base_1+"ei"+base_2+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"urin" ; + Acc => base_1+"o"+base_2+"in" ; + Dat => base_1+"ei"+base_2+"inum" ; + Gen => base_1+"ei"+base_2+"jarins" + } ; + Pl => table { + Nom => base_1+"ei"+base_2+"irnir" ; + Acc => base_1+"ei"+base_2+"irnar" ; + Dat => base_1+"ei"+base_2+"junum" ; + Gen => base_1+"ei"+base_2+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN072" + } ; + +mkN073 : Str -> N ; +mkN073 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ið" ; + Acc => base_1+base_2+"ið" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"u"+base_2+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN073" + } ; + +mkN074 : Str -> N ; +mkN074 base = + case base of { + base_1+"y"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"y"+base_2 ; + Acc => base_1+"y"+base_2 ; + Dat => base_1+"u"+base_2+"um" ; + Gen => base_1+"u"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"y"+base_2+"nar" ; + Acc => base_1+"y"+base_2+"nar" ; + Dat => base_1+"u"+base_2+"unum" ; + Gen => base_1+"u"+base_2+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN074" + } ; + +mkN075 : Str -> N ; +mkN075 base = + case base of { + base_1+"ø"+base_2@("l"|(?+?)) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"in" ; + Acc => base_1+"ø"+base_2+"ina" ; + Dat => base_1+"ø"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN075" + } ; + +mkN076 : Str -> N ; +mkN076 base = + case base of { + base_1+"d" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"d" ; + Acc => base_1+"d" ; + Dat => base_1+"di" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"d" ; + Acc => base_1+"d" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"dið" ; + Acc => base_1+"dið" ; + Dat => base_1+"dinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"dini" ; + Acc => base_1+"dini" ; + Dat => base_1+"dunum" ; + Gen => base_1+"danna" + } + } + } + }; + _ => error "Can't apply paradigm mkN076" + } ; + +mkN077 : Str -> N ; +mkN077 base = + case base of { + base_1+"f" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"f" ; + Acc => base_1+"f" ; + Dat => base_1+"fi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"f" ; + Acc => base_1+"f" ; + Dat => base_1+"fum" ; + Gen => base_1+"fa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"fið" ; + Acc => base_1+"fið" ; + Dat => base_1+"finum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"fini" ; + Acc => base_1+"fini" ; + Dat => base_1+"funum" ; + Gen => base_1+"fanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN077" + } ; + +mkN078 : Str -> N ; +mkN078 base = + case base of { + base_1+"l" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"li" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"lið" ; + Acc => base_1+"lið" ; + Dat => base_1+"linum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"lini" ; + Acc => base_1+"lini" ; + Dat => base_1+"lunum" ; + Gen => base_1+"lanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN078" + } ; + +mkN079 : Str -> N ; +mkN079 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"i" ; + Dat => base_1+"i" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"ina" ; + Dat => base_1+"ini" ; + Gen => base_1+"arinnar" + } ; + Pl => table { + Nom => base_1+"arnar" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN079" + } ; + +mkN080 : Str -> N ; +mkN080 base = + case base of { + base_1+"r" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"r" ; + Acc => base_1+"r" ; + Dat => base_1+"ri" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"r" ; + Acc => base_1+"r" ; + Dat => base_1+"rum" ; + Gen => base_1+"ra" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"rið" ; + Acc => base_1+"rið" ; + Dat => base_1+"rinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"rini" ; + Acc => base_1+"rini" ; + Dat => base_1+"runum" ; + Gen => base_1+"ranna" + } + } + } + }; + _ => error "Can't apply paradigm mkN080" + } ; + +mkN081 : Str -> N ; +mkN081 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+"u"+base_2 ; + Gen => base_1+base_2+"ar" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"u"+base_2+"in" ; + Acc => base_1+base_2+"ina" ; + Dat => base_1+base_2+"ini" ; + Gen => base_1+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+base_2+"arnar" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN081" + } ; + +mkN082 : Str -> N ; +mkN082 base = + case base of { + base_1+"n"+base_2@(?+?+?+?)+"um" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"n"+base_2+"um" ; + Acc => base_1+"n"+base_2+"um" ; + Dat => base_1+"n"+base_2+"i" ; + Gen => base_1+"n"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"n"+base_2+"um" ; + Acc => base_1+"n"+base_2+"um" ; + Dat => base_1+"n"+base_2+"um" ; + Gen => base_1+"n"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"n"+base_2+"ið" ; + Acc => base_1+"n"+base_2+"ið" ; + Dat => base_1+"n"+base_2+"num" ; + Gen => base_1+"n"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"n"+base_2+"ini" ; + Acc => base_1+"n"+base_2+"ini" ; + Dat => base_1+"n"+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN082" + } ; + +mkN083 : Str -> N ; +mkN083 base = + case base of { + base_1+"aði"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"aði"+base_2 ; + Acc => base_1+"aði"+base_2 ; + Dat => base_1+"aði"+base_2 ; + Gen => base_1+"aði"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ed"+base_2+"ar" ; + Acc => base_1+"ed"+base_2+"ar" ; + Dat => base_1+"ed"+base_2+"um" ; + Gen => base_1+"ed"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"aði"+base_2+"in" ; + Acc => base_1+"aði"+base_2+"in" ; + Dat => base_1+"aði"+base_2+"inum" ; + Gen => base_1+"aði"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"ed"+base_2+"arnir" ; + Acc => base_1+"ed"+base_2+"arnar" ; + Dat => base_1+"ed"+base_2+"unum" ; + Gen => base_1+"ed"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN083" + } ; + +mkN084 : Str -> N ; +mkN084 base = + case base of { + base_1+"æ" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"æ" ; + Acc => base_1+"æ" ; + Dat => base_1+"æ" ; + Gen => base_1+"íggjar" + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN084" + } ; + +mkN085 : Str -> N ; +mkN085 base = + case base of { + base_1+"a"+base_2@?+"l" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"l" ; + Acc => base_1+"a"+base_2+"l" ; + Dat => base_1+"a"+base_2+"li" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"l" ; + Acc => base_1+"ø"+base_2+"l" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"la" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"lið" ; + Acc => base_1+"a"+base_2+"lið" ; + Dat => base_1+"a"+base_2+"linum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"lini" ; + Acc => base_1+"ø"+base_2+"lini" ; + Dat => base_1+"ø"+base_2+"lunum" ; + Gen => base_1+"a"+base_2+"lanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN085" + } ; + +mkN086 : Str -> N ; +mkN086 base = + case base of { + base_1+"ar" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"arnir" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN086" + } ; + +mkN087 : Str -> N ; +mkN087 base = + case base of { + base_1+"t" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"ti" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"tið" ; + Acc => base_1+"tið" ; + Dat => base_1+"tinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN087" + } ; + +mkN088 : Str -> N ; +mkN088 base = + case base of { + base_1+"ø"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ir" ; + Acc => base_1+"ø"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"in" ; + Acc => base_1+"ø"+base_2+"ina" ; + Dat => base_1+"ø"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"irnar" ; + Acc => base_1+"ø"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN088" + } ; + +mkN089 : Str -> N ; +mkN089 base = + case base of { + base_1+"ø"+base_2@?+"u"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+"u"+base_3 ; + Gen => base_1+"a"+base_2+base_3+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ar" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"in" ; + Acc => base_1+"ø"+base_2+base_3+"ina" ; + Dat => base_1+"ø"+base_2+base_3+"ini" ; + Gen => base_1+"a"+base_2+base_3+"arinnar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"arnar" ; + Acc => base_1+"a"+base_2+base_3+"arnar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"a"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN089" + } ; + +mkN090 : Str -> N ; +mkN090 base = + case base of { + base_1+"jø"+base_2@(?+?)+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"jø"+base_2+"ur" ; + Acc => base_1+"jø"+base_2 ; + Dat => base_1+"i"+base_2+"i" ; + Gen => base_1+"ja"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"i"+base_2+"ir" ; + Acc => base_1+"i"+base_2+"ir" ; + Dat => base_1+"jø"+base_2+"um" ; + Gen => base_1+"ja"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"jø"+base_2+"urin" ; + Acc => base_1+"jø"+base_2+"in" ; + Dat => base_1+"i"+base_2+"inum" ; + Gen => base_1+"ja"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"i"+base_2+"irnir" ; + Acc => base_1+"i"+base_2+"irnar" ; + Dat => base_1+"jø"+base_2+"unum" ; + Gen => base_1+"ja"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN090" + } ; + +mkN091 : Str -> N ; +mkN091 base = + case base of { + base_1+"a"+base_2@?+"g" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"g" ; + Acc => base_1+"a"+base_2+"g" ; + Dat => base_1+"a"+base_2+"gi" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"g" ; + Acc => base_1+"ø"+base_2+"g" ; + Dat => base_1+"ø"+base_2+"gum" ; + Gen => base_1+"a"+base_2+"ga" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"gið" ; + Acc => base_1+"a"+base_2+"gið" ; + Dat => base_1+"a"+base_2+"ginum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"gini" ; + Acc => base_1+"ø"+base_2+"gini" ; + Dat => base_1+"ø"+base_2+"gunum" ; + Gen => base_1+"a"+base_2+"ganna" + } + } + } + }; + _ => error "Can't apply paradigm mkN091" + } ; + +mkN092 : Str -> N ; +mkN092 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1+"jar" + } ; + Pl => table { + Nom => base_1+"jar" ; + Acc => base_1+"jar" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"ina" ; + Dat => base_1+"ini" ; + Gen => base_1+"jarinnar" + } ; + Pl => table { + Nom => base_1+"jarnar" ; + Acc => base_1+"jarnar" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN092" + } ; + +mkN093 : Str -> N ; +mkN093 base = + case base of { + base_1+"ø"+base_2@("r"|"l"|(?+?))+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"i" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ir" ; + Acc => base_1+"ø"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"urin" ; + Acc => base_1+"ø"+base_2+"in" ; + Dat => base_1+"ø"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"irnir" ; + Acc => base_1+"ø"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN093" + } ; + +mkN094 : Str -> N ; +mkN094 base = + case base of { + base_1+"ø"+base_2@(?+?)+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"i" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ar" ; + Acc => base_1+"ø"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"urin" ; + Acc => base_1+"ø"+base_2+"in" ; + Dat => base_1+"ø"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"arnir" ; + Acc => base_1+"ø"+base_2+"arnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN094" + } ; + +mkN095 : Str -> N ; +mkN095 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } ; + Pl => table { + Nom => base_1+base_2+"ini" ; + Acc => base_1+base_2+"ini" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN095" + } ; + +mkN096 : Str -> N ; +mkN096 base = + case base of { + base_1+"a"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"ið" ; + Acc => base_1+"a"+base_2+"ið" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"o"+base_2+"ini" ; + Acc => base_1+"o"+base_2+"ini" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN096" + } ; + +mkN097 : Str -> N ; +mkN097 base = + case base of { + base_1+"ó"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"ur" ; + Acc => base_1+"ó"+base_2 ; + Dat => base_1+"ó"+base_2+"i" ; + Gen => base_1+"ó"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2+"ur" ; + Dat => base_1+"ó"+base_2+"um" ; + Gen => base_1+"ó"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"urin" ; + Acc => base_1+"ó"+base_2+"in" ; + Dat => base_1+"ó"+base_2+"inum" ; + Gen => base_1+"ó"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"urnir" ; + Acc => base_1+"ø"+base_2+"urnar" ; + Dat => base_1+"ó"+base_2+"unum" ; + Gen => base_1+"ó"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN097" + } ; + +mkN098 : Str -> N ; +mkN098 base = + case base of { + base_1+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i" ; + Acc => base_1+"a" ; + Dat => base_1+"a" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"an" ; + Dat => base_1+"anum" ; + Gen => base_1+"ans" + } ; + Pl => table { + Nom => base_1+"urnir" ; + Acc => base_1+"urnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN098" + } ; + +mkN099 : Str -> N ; +mkN099 base = + case base of { + base_1+"fi"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"fi"+base_2 ; + Acc => base_1+"fi"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"fi"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"fi"+base_2+"in" ; + Acc => base_1+"fi"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"fi"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN099" + } ; + +mkN100 : Str -> N ; +mkN100 base = + case base of { + base_1+"á"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"á"+base_2 ; + Acc => base_1+"á"+base_2 ; + Dat => base_1+"á"+base_2 ; + Gen => base_1+"á"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"æ"+base_2 ; + Acc => base_1+"æ"+base_2 ; + Dat => base_1+"á"+base_2+"um" ; + Gen => base_1+"á"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"á"+base_2+"in" ; + Acc => base_1+"á"+base_2+"ina" ; + Dat => base_1+"á"+base_2+"ini" ; + Gen => base_1+"á"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"æ"+base_2+"nar" ; + Acc => base_1+"æ"+base_2+"nar" ; + Dat => base_1+"á"+base_2+"unum" ; + Gen => base_1+"á"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN100" + } ; + +mkN101 : Str -> N ; +mkN101 base = + case base of { + base_1+"fur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"fur" ; + Acc => base_1+"f" ; + Dat => base_1+"fi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"far" ; + Acc => base_1+"far" ; + Dat => base_1+"fum" ; + Gen => base_1+"fa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"furin" ; + Acc => base_1+"fin" ; + Dat => base_1+"finum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"farnir" ; + Acc => base_1+"farnar" ; + Dat => base_1+"funum" ; + Gen => base_1+"fanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN101" + } ; + +mkN102 : Str -> N ; +mkN102 base = + case base of { + base_1+"ógv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ógv" ; + Acc => base_1+"ógv" ; + Dat => base_1+"ógv" ; + Gen => base_1+"áar" + } ; + Pl => table { + Nom => base_1+"áir" ; + Acc => base_1+"áir" ; + Dat => base_1+"áum" ; + Gen => base_1+"áa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ógvin" ; + Acc => base_1+"ónna" ; + Dat => base_1+"ónni" ; + Gen => base_1+"áarinnar" + } ; + Pl => table { + Nom => base_1+"áirnar" ; + Acc => base_1+"áirnar" ; + Dat => base_1+"áunum" ; + Gen => base_1+"áanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN102" + } ; + +mkN103 : Str -> N ; +mkN103 base = + case base of { + base_1+"a"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2 + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"ið" ; + Acc => base_1+"a"+base_2+"ið" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"ins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ini" ; + Acc => base_1+"ø"+base_2+"ini" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN103" + } ; + +mkN104 : Str -> N ; +mkN104 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"r" ; + Acc => base_1+"r" ; + Dat => nonExist ; + Gen => nonExist + } + } ; + Def => table { + Sg => table { + Nom => base_1+"n" ; + Acc => base_1+"na" ; + Dat => base_1+"ni" ; + Gen => base_1+"nnar" + } ; + Pl => table { + Nom => base_1+"rnar" ; + Acc => base_1+"rnar" ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN104" + } ; + +mkN105 : Str -> N ; +mkN105 base = + case base of { + base_1+"ggj" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggj" ; + Dat => base_1+"ggj" ; + Gen => base_1+"ggjar" + } ; + Pl => table { + Nom => base_1+"ggjar" ; + Acc => base_1+"ggjar" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"ggja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ggin" ; + Acc => base_1+"nna" ; + Dat => base_1+"nni" ; + Gen => base_1+"ggjarinnar" + } ; + Pl => table { + Nom => base_1+"ggjarnar" ; + Acc => base_1+"ggjarnar" ; + Dat => base_1+"ggjunum" ; + Gen => base_1+"ggjanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN105" + } ; + +mkN106 : Str -> N ; +mkN106 base = + case base of { + base_1+"a"+base_2@?+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"i" ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"a" ; + Gen => base_1+"a"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"in" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"a"+base_2+"anum" ; + Gen => base_1+"a"+base_2+"ans" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnir" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN106" + } ; + +mkN107 : Str -> N ; +mkN107 base = + case base of { + base_1+"a"+base_2@?+"a"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3 ; + Acc => base_1+"a"+base_2+"a"+base_3 ; + Dat => base_1+"a"+base_2+base_3+"i" ; + Gen => base_1+"a"+base_2+"a"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ar" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3+"in" ; + Acc => base_1+"a"+base_2+"a"+base_3+"an" ; + Dat => base_1+"a"+base_2+base_3+"inum" ; + Gen => base_1+"a"+base_2+"a"+base_3+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"arnir" ; + Acc => base_1+"a"+base_2+base_3+"arnar" ; + Dat => base_1+"o"+base_2+base_3+"unum" ; + Gen => base_1+"a"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN107" + } ; + +mkN108 : Str -> N ; +mkN108 base = + case base of { + base_1+"p" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"p" ; + Acc => base_1+"p" ; + Dat => base_1+"pi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"p" ; + Acc => base_1+"p" ; + Dat => base_1+"pum" ; + Gen => base_1+"pa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"pið" ; + Acc => base_1+"pið" ; + Dat => base_1+"pinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"pini" ; + Acc => base_1+"pini" ; + Dat => base_1+"punum" ; + Gen => base_1+"panna" + } + } + } + }; + _ => error "Can't apply paradigm mkN108" + } ; + +mkN109 : Str -> N ; +mkN109 base = + case base of { + base_1+"tur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"tur" ; + Acc => base_1+"t" ; + Dat => base_1+"ti" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"tar" ; + Acc => base_1+"tar" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"turin" ; + Acc => base_1+"tin" ; + Dat => base_1+"tinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"tarnir" ; + Acc => base_1+"tarnar" ; + Dat => base_1+"tunum" ; + Gen => base_1+"tanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN109" + } ; + +mkN110 : Str -> N ; +mkN110 base = + case base of { + base_1+"gv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gv" ; + Acc => base_1+"gv" ; + Dat => base_1+"gv" ; + Gen => base_1+"gvar" + } ; + Pl => table { + Nom => base_1+"gvin" ; + Acc => base_1+"nna" ; + Dat => base_1+"nni" ; + Gen => base_1+"gvarinnar" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN110" + } ; + +mkN111 : Str -> N ; +mkN111 base = + case base of { + base_1+"ar" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"arnar" ; + Acc => base_1+"arnar" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN111" + } ; + +mkN112 : Str -> N ; +mkN112 base = + case base of { + base_1+"a"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"ir" ; + Acc => base_1+"e"+base_2+"ir" ; + Dat => base_1+"e"+base_2+"um" ; + Gen => base_1+"e"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"in" ; + Acc => base_1+"a"+base_2+"ina" ; + Dat => base_1+"a"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"irnar" ; + Acc => base_1+"e"+base_2+"irnar" ; + Dat => base_1+"e"+base_2+"unum" ; + Gen => base_1+"e"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN112" + } ; + +mkN113 : Str -> N ; +mkN113 base = + case base of { + base_1+"ma"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ma"+base_2 ; + Acc => base_1+"ma"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"ma"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ma"+base_2+"in" ; + Acc => base_1+"ma"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"ma"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN113" + } ; + +mkN114 : Str -> N ; +mkN114 base = + case base of { + base_1+"a"+base_2@(?+?)+"a" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"a" ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"a" ; + Gen => base_1+"a"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ur" ; + Acc => base_1+"ø"+base_2+"ur" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"na" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"að" ; + Acc => base_1+"a"+base_2+"að" ; + Dat => base_1+"a"+base_2+"anum" ; + Gen => base_1+"a"+base_2+"ans" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"uni" ; + Acc => base_1+"ø"+base_2+"uni" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"nanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN114" + } ; + +mkN115 : Str -> N ; +mkN115 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN115" + } ; + +mkN116 : Str -> N ; +mkN116 base = + case base of { + base_1+"g"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"g"+base_2+"ur" ; + Acc => base_1+"g"+base_2 ; + Dat => base_1+"g"+base_2+"i" ; + Gen => base_1+base_2+"s" + } ; + Pl => table { + Nom => base_1+"g"+base_2+"ar" ; + Acc => base_1+"g"+base_2+"ar" ; + Dat => base_1+"g"+base_2+"um" ; + Gen => base_1+"g"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"g"+base_2+"urin" ; + Acc => base_1+"g"+base_2+"in" ; + Dat => base_1+"g"+base_2+"inum" ; + Gen => base_1+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"g"+base_2+"arnir" ; + Acc => base_1+"g"+base_2+"arnar" ; + Dat => base_1+"g"+base_2+"unum" ; + Gen => base_1+"g"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN116" + } ; + +mkN117 : Str -> N ; +mkN117 base = + case base of { + base_1+"o"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"ur" ; + Acc => base_1+"e"+base_2+"ur" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"in" ; + Acc => base_1+"o"+base_2+"ina" ; + Dat => base_1+"o"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"urnar" ; + Acc => base_1+"e"+base_2+"urnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN117" + } ; + +mkN118 : Str -> N ; +mkN118 base = + case base of { + base_1+"d" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"d" ; + Acc => base_1+"d" ; + Dat => base_1+"di" ; + Gen => base_1+"uðs" + } ; + Pl => table { + Nom => base_1+"d" ; + Acc => base_1+"d" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"dini" ; + Acc => base_1+"dini" ; + Dat => base_1+"dinum" ; + Gen => base_1+"uðsins" + } ; + Pl => table { + Nom => base_1+"dini" ; + Acc => base_1+"dini" ; + Dat => base_1+"dunum" ; + Gen => base_1+"danna" + } + } + } + }; + _ => error "Can't apply paradigm mkN118" + } ; + +mkN119 : Str -> N ; +mkN119 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"di" ; + Gen => base_1+"uðs" + } ; + Pl => table { + Nom => base_1+"ur" ; + Acc => base_1+"ur" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urini" ; + Acc => base_1+"urini" ; + Dat => base_1+"dinum" ; + Gen => base_1+"uðsins" + } ; + Pl => table { + Nom => base_1+"urini" ; + Acc => base_1+"urini" ; + Dat => base_1+"dunum" ; + Gen => base_1+"danna" + } + } + } + }; + _ => error "Can't apply paradigm mkN119" + } ; + +mkN120 : Str -> N ; +mkN120 base = + case base of { + base_1+"ggj" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggj" ; + Dat => base_1+"ggi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggj" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"ggja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ggið" ; + Acc => base_1+"ggið" ; + Dat => base_1+"gginum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"ggini" ; + Acc => base_1+"ggini" ; + Dat => base_1+"ggjunum" ; + Gen => base_1+"ggjanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN120" + } ; + +mkN121 : Str -> N ; +mkN121 base = + case base of { + base_1+"ø"+base_2@("k"|(?+?)) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ini" ; + Acc => base_1+"ø"+base_2+"ini" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN121" + } ; + +mkN122 : Str -> N ; +mkN122 base = + case base of { + base_1+"ggj" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggj" ; + Dat => base_1+"ggi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ggið" ; + Acc => base_1+"ggið" ; + Dat => base_1+"gginum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN122" + } ; + +mkN123 : Str -> N ; +mkN123 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"jar" + } ; + Pl => table { + Nom => base_1+"jar" ; + Acc => base_1+"jar" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"jarins" + } ; + Pl => table { + Nom => base_1+"jarnir" ; + Acc => base_1+"jarnar" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN123" + } ; + +mkN124 : Str -> N ; +mkN124 base = + case base of { + base_1+"gv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gv" ; + Acc => base_1+"gv" ; + Dat => base_1+"gvi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gvið" ; + Acc => base_1+"gvið" ; + Dat => base_1+"gvnum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN124" + } ; + +mkN125 : Str -> N ; +mkN125 base = + case base of { + base_1+"ø"+base_2@?+"u"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"i" ; + Gen => base_1+"ø"+base_2+"u"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ir" ; + Acc => base_1+"a"+base_2+base_3+"ir" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"in" ; + Acc => base_1+"ø"+base_2+"u"+base_3+"in" ; + Dat => base_1+"ø"+base_2+base_3+"inum" ; + Gen => base_1+"ø"+base_2+"u"+base_3+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"irnir" ; + Acc => base_1+"a"+base_2+base_3+"irnar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"a"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN125" + } ; + +mkN126 : Str -> N ; +mkN126 base = + case base of { + base_1+"a"+base_2@?+"a"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3 ; + Acc => base_1+"a"+base_2+"a"+base_3 ; + Dat => base_1+"a"+base_2+"a"+base_3+"i" ; + Gen => base_1+"a"+base_2+"a"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+"u"+base_3+"um" ; + Gen => base_1+"a"+base_2+"a"+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3+"ið" ; + Acc => base_1+"a"+base_2+"a"+base_3+"ið" ; + Dat => base_1+"a"+base_2+"a"+base_3+"inum" ; + Gen => base_1+"a"+base_2+"a"+base_3+"sins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+base_3+"ini" ; + Acc => base_1+"ø"+base_2+base_3+"ini" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"a"+base_2+"a"+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN126" + } ; + +mkN127 : Str -> N ; +mkN127 base = + case base of { + base_1+"u"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+base_2+"ar" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"u"+base_2+"in" ; + Acc => base_1+"u"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+base_2+"arins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN127" + } ; + +mkN128 : Str -> N ; +mkN128 base = + case base of { + base_1+"a"+base_2@?+"tur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"tur" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"a"+base_2+"ti" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"tar" ; + Acc => base_1+"a"+base_2+"tar" ; + Dat => base_1+"ø"+base_2+"tum" ; + Gen => base_1+"a"+base_2+"ta" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"turin" ; + Acc => base_1+"a"+base_2+"tin" ; + Dat => base_1+"a"+base_2+"tinum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"tarnir" ; + Acc => base_1+"a"+base_2+"tarnar" ; + Dat => base_1+"ø"+base_2+"tunum" ; + Gen => base_1+"a"+base_2+"tanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN128" + } ; + +mkN129 : Str -> N ; +mkN129 base = + case base of { + base_1+"a"+base_2@?+"kur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"kur" ; + Acc => base_1+"a"+base_2+"k" ; + Dat => base_1+"a"+base_2+"ki" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"kar" ; + Acc => base_1+"a"+base_2+"kar" ; + Dat => base_1+"ø"+base_2+"kum" ; + Gen => base_1+"a"+base_2+"ka" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"kurin" ; + Acc => base_1+"a"+base_2+"kin" ; + Dat => base_1+"a"+base_2+"kinum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"karnir" ; + Acc => base_1+"a"+base_2+"karnar" ; + Dat => base_1+"ø"+base_2+"kunum" ; + Gen => base_1+"a"+base_2+"kanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN129" + } ; + +mkN130 : Str -> N ; +mkN130 base = + case base of { + base_1+"a"+base_2@?+"pur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"pur" ; + Acc => base_1+"a"+base_2+"p" ; + Dat => base_1+"a"+base_2+"pi" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"par" ; + Acc => base_1+"a"+base_2+"par" ; + Dat => base_1+"ø"+base_2+"pum" ; + Gen => base_1+"a"+base_2+"pa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"purin" ; + Acc => base_1+"a"+base_2+"pin" ; + Dat => base_1+"a"+base_2+"pinum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"parnir" ; + Acc => base_1+"a"+base_2+"parnar" ; + Dat => base_1+"ø"+base_2+"punum" ; + Gen => base_1+"a"+base_2+"panna" + } + } + } + }; + _ => error "Can't apply paradigm mkN130" + } ; + +mkN131 : Str -> N ; +mkN131 base = + case base of { + base_1+"gj" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gj" ; + Acc => base_1+"gj" ; + Dat => base_1+"gi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gj" ; + Acc => base_1+"gj" ; + Dat => base_1+"gjum" ; + Gen => base_1+"gja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"gið" ; + Acc => base_1+"gið" ; + Dat => base_1+"num" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"gini" ; + Acc => base_1+"gini" ; + Dat => base_1+"gjunum" ; + Gen => base_1+"gjanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN131" + } ; + +mkN132 : Str -> N ; +mkN132 base = + case base of { + base_1+"úgv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"úgv" ; + Acc => base_1+"úgv" ; + Dat => base_1+"úgv" ; + Gen => base_1+"úgvar" + } ; + Pl => table { + Nom => base_1+"ýr" ; + Acc => base_1+"ýr" ; + Dat => base_1+"úm" ; + Gen => base_1+"úgva" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"úgvin" ; + Acc => base_1+"únna" ; + Dat => base_1+"únni" ; + Gen => base_1+"úgvarinnar" + } ; + Pl => table { + Nom => base_1+"ýrnar" ; + Acc => base_1+"ýrnar" ; + Dat => base_1+"únum" ; + Gen => base_1+"úgvanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN132" + } ; + +mkN133 : Str -> N ; +mkN133 base = + case base of { + base_1+"ir" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"unum" ; + Gen => base_1+"anna" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN133" + } ; + +mkN134 : Str -> N ; +mkN134 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1 ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"ð" ; + Acc => base_1+"ð" ; + Dat => base_1+"num" ; + Gen => base_1+"ns" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN134" + } ; + +mkN135 : Str -> N ; +mkN135 base = + case base of { + base_1+"ó"+base_2@?+"i"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"i"+base_3 ; + Acc => base_1+"ó"+base_2+"u"+base_3 ; + Dat => base_1+"ó"+base_2+"u"+base_3 ; + Gen => base_1+"ó"+base_2+"u"+base_3 + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"ø"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"i"+base_3+"in" ; + Acc => base_1+"ó"+base_2+"u"+base_3+"ina" ; + Dat => base_1+"ó"+base_2+"u"+base_3+"ini" ; + Gen => base_1+"ó"+base_2+"u"+base_3+"innar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"nar" ; + Acc => base_1+"ø"+base_2+"u"+base_3+"nar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"ø"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN135" + } ; + +mkN136 : Str -> N ; +mkN136 base = + case base of { + base_1+"tu"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"tu"+base_2 ; + Acc => base_1+"tu"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"tu"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"tu"+base_2+"in" ; + Acc => base_1+"tu"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"tu"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN136" + } ; + +mkN137 : Str -> N ; +mkN137 base = + case base of { + base_1+"á"+base_2@?+"t" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"á"+base_2+"t" ; + Acc => base_1+"á"+base_2+"t" ; + Dat => base_1+"á"+base_2+"t" ; + Gen => base_1+"á"+base_2+"tar" + } ; + Pl => table { + Nom => base_1+"æ"+base_2+"ur" ; + Acc => base_1+"æ"+base_2+"ur" ; + Dat => base_1+"á"+base_2+"tum" ; + Gen => base_1+"á"+base_2+"ta" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"á"+base_2+"tin" ; + Acc => base_1+"á"+base_2+"tina" ; + Dat => base_1+"á"+base_2+"tini" ; + Gen => base_1+"á"+base_2+"tarinnar" + } ; + Pl => table { + Nom => base_1+"æ"+base_2+"urnar" ; + Acc => base_1+"á"+base_2+"turnar" ; + Dat => base_1+"á"+base_2+"tunum" ; + Gen => base_1+"á"+base_2+"tanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN137" + } ; + +mkN138 : Str -> N ; +mkN138 base = + case base of { + base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"inum" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"ini" ; + Acc => base_1+"ini" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN138" + } ; + +mkN139 : Str -> N ; +mkN139 base = + case base of { + base_1@?+"ø"+base_2 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"in" ; + Acc => base_1+"ø"+base_2+"ina" ; + Dat => base_1+"ø"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnar" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN139" + } ; + +mkN140 : Str -> N ; +mkN140 base = + case base of { + base_1+"ma"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ma"+base_2 ; + Acc => base_1+"ma"+base_2 ; + Dat => base_1+"ma"+base_2+"i" ; + Gen => base_1+"ma"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"mu"+base_2 ; + Acc => base_1+"mu"+base_2 ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ma"+base_2+"ið" ; + Acc => base_1+"ma"+base_2+"ið" ; + Dat => base_1+"ma"+base_2+"inum" ; + Gen => base_1+"ma"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"ini" ; + Acc => base_1+"mu"+base_2+"ini" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN140" + } ; + +mkN141 : Str -> N ; +mkN141 base = + case base of { + base_1+"dur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"dur" ; + Acc => base_1+"d" ; + Dat => base_1+"di" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"dar" ; + Acc => base_1+"dar" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"durin" ; + Acc => base_1+"din" ; + Dat => base_1+"dinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"darnir" ; + Acc => base_1+"darnar" ; + Dat => base_1+"dunum" ; + Gen => base_1+"danna" + } + } + } + }; + _ => error "Can't apply paradigm mkN141" + } ; + +mkN142 : Str -> N ; +mkN142 base = + case base of { + "ø"+base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "ø"+base_1 ; + Acc => "ø"+base_1 ; + Dat => "ø"+base_1 ; + Gen => "a"+base_1+"ar" + } ; + Pl => table { + Nom => "ø"+base_1+"ir" ; + Acc => "ø"+base_1+"ir" ; + Dat => "ø"+base_1+"um" ; + Gen => "a"+base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => "ø"+base_1+"in" ; + Acc => "ø"+base_1+"ina" ; + Dat => "ø"+base_1+"ini" ; + Gen => "a"+base_1+"arinnar" + } ; + Pl => table { + Nom => "ø"+base_1+"irnar" ; + Acc => "ø"+base_1+"irnar" ; + Dat => "ø"+base_1+"unum" ; + Gen => "a"+base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN142" + } ; + +mkN143 : Str -> N ; +mkN143 base = + case base of { + "o"+base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "o"+base_1 ; + Acc => "o"+base_1 ; + Dat => "o"+base_1 ; + Gen => "a"+base_1+"ar" + } ; + Pl => table { + Nom => "a"+base_1+"ir" ; + Acc => "a"+base_1+"ir" ; + Dat => "o"+base_1+"um" ; + Gen => "a"+base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => "o"+base_1+"in" ; + Acc => "o"+base_1+"ina" ; + Dat => "o"+base_1+"ini" ; + Gen => "a"+base_1+"arinnar" + } ; + Pl => table { + Nom => "a"+base_1+"irnar" ; + Acc => "a"+base_1+"irnar" ; + Dat => "o"+base_1+"unum" ; + Gen => "a"+base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN143" + } ; + +mkN144 : Str -> N ; +mkN144 base = + case base of { + "ø"+base_1 => lin N + { s = table { + Indef => table { + Sg => table { + Nom => "ø"+base_1 ; + Acc => "ø"+base_1 ; + Dat => "ø"+base_1 ; + Gen => "a"+base_1+"ar" + } ; + Pl => table { + Nom => "a"+base_1+"ir" ; + Acc => "a"+base_1+"ir" ; + Dat => "ø"+base_1+"um" ; + Gen => "a"+base_1+"a" + } + } ; + Def => table { + Sg => table { + Nom => "ø"+base_1+"in" ; + Acc => "ø"+base_1+"ina" ; + Dat => "ø"+base_1+"ini" ; + Gen => "a"+base_1+"arinnar" + } ; + Pl => table { + Nom => "a"+base_1+"irnar" ; + Acc => "a"+base_1+"irnar" ; + Dat => "ø"+base_1+"unum" ; + Gen => "a"+base_1+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN144" + } ; + +mkN145 : Str -> N ; +mkN145 base = + case base of { + base_1+"p" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"p" ; + Acc => base_1+"p" ; + Dat => base_1+"pi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"pið" ; + Acc => base_1+"pið" ; + Dat => base_1+"pinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN145" + } ; + +mkN146 : Str -> N ; +mkN146 base = + case base of { + base_1+"kur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"kur" ; + Acc => base_1+"k" ; + Dat => base_1+"ki" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"kurin" ; + Acc => base_1+"kin" ; + Dat => base_1+"kinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN146" + } ; + +mkN147 : Str -> N ; +mkN147 base = + case base of { + base_1+"pur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"pur" ; + Acc => base_1+"p" ; + Dat => base_1+"pi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"purin" ; + Acc => base_1+"pin" ; + Dat => base_1+"pinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN147" + } ; + +mkN148 : Str -> N ; +mkN148 base = + case base of { + base_1+"g"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"g"+base_2 ; + Acc => base_1+"g"+base_2 ; + Dat => base_1+"g"+base_2+"i" ; + Gen => base_1+base_2+"s" + } ; + Pl => table { + Nom => base_1+"g"+base_2 ; + Acc => base_1+"g"+base_2 ; + Dat => base_1+"g"+base_2+"um" ; + Gen => base_1+"g"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"g"+base_2+"ið" ; + Acc => base_1+"g"+base_2+"ið" ; + Dat => base_1+"g"+base_2+"num" ; + Gen => base_1+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"g"+base_2+"ini" ; + Acc => base_1+"g"+base_2+"ini" ; + Dat => base_1+"g"+base_2+"unum" ; + Gen => base_1+"g"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN148" + } ; + +mkN149 : Str -> N ; +mkN149 base = + case base of { + base_1+"lur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"lur" ; + Acc => base_1+"l" ; + Dat => base_1+"li" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"lar" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"lurin" ; + Acc => base_1+"lin" ; + Dat => base_1+"linum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"larnir" ; + Acc => base_1+"larnar" ; + Dat => base_1+"lunum" ; + Gen => base_1+"lanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN149" + } ; + +mkN150 : Str -> N ; +mkN150 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"jar" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"jarins" + } ; + Pl => table { + Nom => base_1+"irnir" ; + Acc => base_1+"irnar" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN150" + } ; + +mkN151 : Str -> N ; +mkN151 base = + case base of { + base_1+"a"+base_2@(?+?)+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"a"+base_2+"i" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ir" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"urin" ; + Acc => base_1+"a"+base_2+"in" ; + Dat => base_1+"a"+base_2+"inum" ; + Gen => base_1+"a"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"irnir" ; + Acc => base_1+"a"+base_2+"irnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN151" + } ; + +mkN152 : Str -> N ; +mkN152 base = + case base of { + base_1+"n" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"n" ; + Acc => base_1+"n" ; + Dat => base_1+"ni" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"n" ; + Acc => base_1+"n" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"nið" ; + Acc => base_1+"nið" ; + Dat => base_1+"ninum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"nini" ; + Acc => base_1+"nini" ; + Dat => base_1+"nunum" ; + Gen => base_1+"nanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN152" + } ; + +mkN153 : Str -> N ; +mkN153 base = + case base of { + base_1+"gvur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gvur" ; + Acc => base_1+"gv" ; + Dat => base_1+"gvi" ; + Gen => base_1+"var" + } ; + Pl => table { + Nom => base_1+"gvar" ; + Acc => base_1+"gvar" ; + Dat => base_1+"gvum" ; + Gen => base_1+"gva" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"gvurin" ; + Acc => base_1+"gvin" ; + Dat => base_1+"num" ; + Gen => base_1+"varins" + } ; + Pl => table { + Nom => base_1+"gvarnir" ; + Acc => base_1+"gvarnar" ; + Dat => base_1+"gvunum" ; + Gen => base_1+"gvanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN153" + } ; + +mkN154 : Str -> N ; +mkN154 base = + case base of { + base_1+"g" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gum" ; + Gen => base_1+"ga" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"gið" ; + Acc => base_1+"gið" ; + Dat => base_1+"ginum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"gini" ; + Acc => base_1+"gini" ; + Dat => base_1+"gunum" ; + Gen => base_1+"ganna" + } + } + } + }; + _ => error "Can't apply paradigm mkN154" + } ; + +mkN155 : Str -> N ; +mkN155 base = + case base of { + base_1+"t" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"ti" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"tið" ; + Acc => base_1+"tið" ; + Dat => base_1+"tinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"tini" ; + Acc => base_1+"tini" ; + Dat => base_1+"tunum" ; + Gen => base_1+"tanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN155" + } ; + +mkN156 : Str -> N ; +mkN156 base = + case base of { + base_1+"gvur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gvur" ; + Acc => base_1+"gv" ; + Dat => base_1+"gvi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gvurin" ; + Acc => base_1+"gvin" ; + Dat => base_1+"gvinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN156" + } ; + +mkN157 : Str -> N ; +mkN157 base = + case base of { + base_1+"o"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2 ; + Gen => base_1+"ei"+base_2+"jar" + } ; + Pl => table { + Nom => base_1+"ei"+base_2+"ir" ; + Acc => base_1+"ei"+base_2+"ir" ; + Dat => base_1+"ei"+base_2+"jum" ; + Gen => base_1+"ei"+base_2+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"in" ; + Acc => base_1+"o"+base_2+"ina" ; + Dat => base_1+"o"+base_2+"ini" ; + Gen => base_1+"ei"+base_2+"jarrinar" + } ; + Pl => table { + Nom => base_1+"ei"+base_2+"irnar" ; + Acc => base_1+"ei"+base_2+"irnar" ; + Dat => base_1+"ei"+base_2+"junum" ; + Gen => base_1+"ei"+base_2+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN157" + } ; + +mkN158 : Str -> N ; +mkN158 base = + case base of { + base_1+"ó"+base_2@?+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ó"+base_2+"ur" ; + Acc => base_1+"ó"+base_2 ; + Dat => base_1+"ó"+base_2+"i" ; + Gen => base_1+"ó"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"ir" ; + Acc => base_1+"ø"+base_2+"ir" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"ó"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ó"+base_2+"urin" ; + Acc => base_1+"ó"+base_2+"in" ; + Dat => base_1+"ó"+base_2+"inum" ; + Gen => base_1+"ó"+base_2+"arins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"irnir" ; + Acc => base_1+"ø"+base_2+"irnar" ; + Dat => base_1+"ø"+base_2+"unum" ; + Gen => base_1+"ó"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN158" + } ; + +mkN159 : Str -> N ; +mkN159 base = + case base of { + base_1+"ma"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ma"+base_2 ; + Acc => base_1+"ma"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"ma"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"mu"+base_2 ; + Acc => base_1+"mu"+base_2 ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+base_2+"ið" ; + Acc => base_1+base_2+"ið" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"ma"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"ini" ; + Acc => base_1+base_2+"ini" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN159" + } ; + +mkN160 : Str -> N ; +mkN160 base = + case base of { + base_1+"pur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"pur" ; + Acc => base_1+"p" ; + Dat => base_1+"pi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"pir" ; + Acc => base_1+"pir" ; + Dat => base_1+"pum" ; + Gen => base_1+"pa" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"purin" ; + Acc => base_1+"pin" ; + Dat => base_1+"pinum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"pirnir" ; + Acc => base_1+"pirnar" ; + Dat => base_1+"punum" ; + Gen => base_1+"panna" + } + } + } + }; + _ => error "Can't apply paradigm mkN160" + } ; + +mkN161 : Str -> N ; +mkN161 base = + case base of { + base_1+"i"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"i"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+"u"+base_2 ; + Gen => base_1+"u"+base_2 + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"i"+base_2+"in" ; + Acc => base_1+base_2+"ina" ; + Dat => base_1+base_2+"ini" ; + Gen => base_1+"u"+base_2+"innar" + } ; + Pl => table { + Nom => base_1+base_2+"arnar" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN161" + } ; + +mkN162 : Str -> N ; +mkN162 base = + case base of { + base_1+"a"+base_2@(?+?)+"i" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"a"+base_2+"i" ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"a" ; + Gen => base_1+"a"+base_2+"a" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"a"+base_2+"in" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"a"+base_2+"anum" ; + Gen => base_1+"a"+base_2+"ans" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"arnir" ; + Acc => base_1+"a"+base_2+"arnar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN162" + } ; + +mkN163 : Str -> N ; +mkN163 base = + case base of { + base_1+"k" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"k" ; + Acc => base_1+"k" ; + Dat => base_1+"ki" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"kið" ; + Acc => base_1+"kið" ; + Dat => base_1+"kinum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN163" + } ; + +mkN164 : Str -> N ; +mkN164 base = + case base of { + base_1+"g" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gi" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gjum" ; + Gen => base_1+"gja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"gið" ; + Acc => base_1+"gið" ; + Dat => base_1+"ginum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"gini" ; + Acc => base_1+"gini" ; + Dat => base_1+"gjunum" ; + Gen => base_1+"gjanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN164" + } ; + +mkN165 : Str -> N ; +mkN165 base = + case base of { + base_1+"o"+base_2@(?+?) => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2 ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"e"+base_2 ; + Acc => base_1+"e"+base_2 ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"o"+base_2+"in" ; + Acc => base_1+"o"+base_2+"ina" ; + Dat => base_1+"o"+base_2+"ini" ; + Gen => base_1+"a"+base_2+"arinnar" + } ; + Pl => table { + Nom => base_1+"e"+base_2+"inar" ; + Acc => base_1+"e"+base_2+"inar" ; + Dat => base_1+"o"+base_2+"unum" ; + Gen => base_1+"a"+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN165" + } ; + +mkN166 : Str -> N ; +mkN166 base = + case base of { + base_1+"gv" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"gv" ; + Acc => base_1+"gv" ; + Dat => base_1+"gv" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"gvir" ; + Acc => base_1+"gvir" ; + Dat => base_1+"gvum" ; + Gen => base_1+"gva" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"gvin" ; + Acc => base_1+"nna" ; + Dat => base_1+"nni" ; + Gen => base_1+"arinnar" + } ; + Pl => table { + Nom => base_1+"gvirnar" ; + Acc => base_1+"gvirnar" ; + Dat => base_1+"gvunum" ; + Gen => base_1+"gvanna" + } + } + } + }; + _ => error "Can't apply paradigm mkN166" + } ; + +mkN167 : Str -> N ; +mkN167 base = + case base of { + base_1+"ni"+base_2@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ni"+base_2 ; + Acc => base_1+"ni"+base_2 ; + Dat => base_1+base_2+"i" ; + Gen => base_1+"ni"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ni"+base_2+"in" ; + Acc => base_1+"ni"+base_2+"in" ; + Dat => base_1+base_2+"inum" ; + Gen => base_1+"ni"+base_2+"sins" + } ; + Pl => table { + Nom => base_1+base_2+"arnir" ; + Acc => base_1+base_2+"arnar" ; + Dat => base_1+base_2+"unum" ; + Gen => base_1+base_2+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN167" + } ; + +mkN168 : Str -> N ; +mkN168 base = + case base of { + base_1+"ur" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1 ; + Dat => base_1+"i" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ir" ; + Dat => base_1+"jum" ; + Gen => base_1+"ja" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"urin" ; + Acc => base_1+"in" ; + Dat => base_1+"inum" ; + Gen => base_1+"sins" + } ; + Pl => table { + Nom => base_1+"irnir" ; + Acc => base_1+"irnar" ; + Dat => base_1+"junum" ; + Gen => base_1+"janna" + } + } + } + }; + _ => error "Can't apply paradigm mkN168" + } ; + +mkN169 : Str -> N ; +mkN169 base = + case base of { + base_1+"l" => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"li" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"lið" ; + Acc => base_1+"lið" ; + Dat => base_1+"linum" ; + Gen => base_1+"sins" + } + } ; + Def => table { + Sg => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } ; + Pl => table { + Nom => nonExist ; + Acc => nonExist ; + Dat => nonExist ; + Gen => nonExist + } + } + } + }; + _ => error "Can't apply paradigm mkN169" + } ; + +mkN170 : Str -> N ; +mkN170 base = + case base of { + base_1+"ø"+base_2@(?+?+?)+"u"+base_3@? => lin N + { s = table { + Indef => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"i" ; + Gen => base_1+"a"+base_2+base_3+"ar" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+base_3+"ir" ; + Acc => base_1+"ø"+base_2+base_3+"ir" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Def => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3+"in" ; + Acc => base_1+"ø"+base_2+"u"+base_3+"in" ; + Dat => base_1+"ø"+base_2+base_3+"inum" ; + Gen => base_1+"a"+base_2+base_3+"arins" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+base_3+"irnir" ; + Acc => base_1+"ø"+base_2+base_3+"irnar" ; + Dat => base_1+"ø"+base_2+base_3+"unum" ; + Gen => base_1+"a"+base_2+base_3+"anna" + } + } + } + }; + _ => error "Can't apply paradigm mkN170" + } ; + +mkA001 : Str -> A ; +mkA001 base = + case base of { + base_1+"dur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"dur" ; + Acc => base_1+"dan" ; + Dat => base_1+"dum" ; + Gen => base_1+"ds" + } ; + Pl => table { + Nom => base_1+"dir" ; + Acc => base_1+"dar" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"d" ; + Acc => base_1+"da" ; + Dat => base_1+"dari" ; + Gen => base_1+"dar" + } ; + Pl => table { + Nom => base_1+"dar" ; + Acc => base_1+"dar" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"dum" ; + Gen => base_1+"ds" + } ; + Pl => table { + Nom => base_1+"d" ; + Acc => base_1+"d" ; + Dat => base_1+"dum" ; + Gen => base_1+"da" + } + } + } + }; + _ => error "Can't apply paradigm mkA001" + } ; + +mkA002 : Str -> A ; +mkA002 base = + case base of { + base_1+"a"+base_2@(?+?)+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"ari" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2 ; + Acc => base_1+"a"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA002" + } ; + +mkA003 : Str -> A ; +mkA003 base = + case base of { + base_1+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"an" ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1 ; + Acc => base_1+"a" ; + Dat => base_1+"ari" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA003" + } ; + +mkA004 : Str -> A ; +mkA004 base = + case base of { + base_1+"a"+base_2@?+"u"+base_3@? => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"u"+base_3 ; + Acc => base_1+"a"+base_2+base_3+"an" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+"u"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ir" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"a"+base_2+base_3+"a" ; + Dat => base_1+"a"+base_2+base_3+"ari" ; + Gen => base_1+"a"+base_2+base_3+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ar" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"u"+base_3+"t" ; + Acc => base_1+"a"+base_2+"u"+base_3+"t" ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+"u"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"u"+base_3 ; + Acc => base_1+"ø"+base_2+"u"+base_3 ; + Dat => base_1+"ø"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA004" + } ; + +mkA005 : Str -> A ; +mkA005 base = + case base of { + "a"+base_1+"lur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => "a"+base_1+"lur" ; + Acc => "a"+base_1+"lan" ; + Dat => "ø"+base_1+"lum" ; + Gen => "a"+base_1+"s" + } ; + Pl => table { + Nom => "a"+base_1+"lir" ; + Acc => "a"+base_1+"lar" ; + Dat => "ø"+base_1+"lum" ; + Gen => "a"+base_1+"la" + } + } ; + Fem => table { + Sg => table { + Nom => "ø"+base_1+"l" ; + Acc => "a"+base_1+"la" ; + Dat => "a"+base_1+"lari" ; + Gen => "a"+base_1+"lar" + } ; + Pl => table { + Nom => "a"+base_1+"lar" ; + Acc => "a"+base_1+"lar" ; + Dat => "ø"+base_1+"lum" ; + Gen => "a"+base_1+"la" + } + } ; + Neutr => table { + Sg => table { + Nom => "a"+base_1+"t" ; + Acc => "a"+base_1+"t" ; + Dat => "ø"+base_1+"lum" ; + Gen => "a"+base_1+"s" + } ; + Pl => table { + Nom => "ø"+base_1+"l" ; + Acc => "ø"+base_1+"l" ; + Dat => "ø"+base_1+"lum" ; + Gen => "a"+base_1+"la" + } + } + } + }; + _ => error "Can't apply paradigm mkA005" + } ; + +mkA006 : Str -> A ; +mkA006 base = + case base of { + base_1+"nur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"nur" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"n" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"num" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"n" ; + Acc => base_1+"n" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA006" + } ; + +mkA007 : Str -> A ; +mkA007 base = + case base of { + base_1+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"an" ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1 ; + Acc => base_1+"a" ; + Dat => base_1+"ari" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA007" + } ; + +mkA008 : Str -> A ; +mkA008 base = + case base of { + base_1+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"an" ; + Dat => base_1+"um" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1 ; + Acc => base_1+"a" ; + Dat => base_1+"ari" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"um" ; + Gen => base_1 + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA008" + } ; + +mkA009 : Str -> A ; +mkA009 base = + case base of { + base_1+"in" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"in" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"num" ; + Gen => base_1+"ins" + } ; + Pl => table { + Nom => base_1+"in" ; + Acc => base_1+"in" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA009" + } ; + +mkA010 : Str -> A ; +mkA010 base = + case base of { + base_1+"ður" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ður" ; + Acc => base_1+"ðan" ; + Dat => base_1+"ðum" ; + Gen => base_1+"ðs" + } ; + Pl => table { + Nom => base_1+"ðir" ; + Acc => base_1+"ðar" ; + Dat => base_1+"ðum" ; + Gen => base_1+"ða" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ð" ; + Acc => base_1+"ða" ; + Dat => base_1+"ðari" ; + Gen => base_1+"ðar" + } ; + Pl => table { + Nom => base_1+"ðar" ; + Acc => base_1+"ðar" ; + Dat => base_1+"ðum" ; + Gen => base_1+"ða" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"ðum" ; + Gen => base_1+"ðs" + } ; + Pl => table { + Nom => base_1+"ð" ; + Acc => base_1+"ð" ; + Dat => base_1+"ðum" ; + Gen => base_1+"ða" + } + } + } + }; + _ => error "Can't apply paradigm mkA010" + } ; + +mkA011 : Str -> A ; +mkA011 base = + case base of { + base_1+"tur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"tur" ; + Acc => base_1+"tan" ; + Dat => base_1+"tum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"tir" ; + Acc => base_1+"tar" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"ta" ; + Dat => base_1+"tari" ; + Gen => base_1+"tar" + } ; + Pl => table { + Nom => base_1+"tar" ; + Acc => base_1+"tar" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"tum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"tum" ; + Gen => base_1+"ta" + } + } + } + }; + _ => error "Can't apply paradigm mkA011" + } ; + +mkA012 : Str -> A ; +mkA012 base = + case base of { + base_1+"gvin" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"gvin" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"gvins" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"gvin" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"gvið" ; + Acc => base_1+"gvið" ; + Dat => base_1+"num" ; + Gen => base_1+"gvins" + } ; + Pl => table { + Nom => base_1+"gvin" ; + Acc => base_1+"gvin" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA012" + } ; + +mkA013 : Str -> A ; +mkA013 base = + case base of { + base_1+"gur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"gur" ; + Acc => base_1+"gan" ; + Dat => base_1+"gum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gir" ; + Acc => base_1+"gar" ; + Dat => base_1+"gum" ; + Gen => base_1+"ga" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"g" ; + Acc => base_1+"ga" ; + Dat => base_1+"gari" ; + Gen => base_1+"gar" + } ; + Pl => table { + Nom => base_1+"gar" ; + Acc => base_1+"gar" ; + Dat => base_1+"gum" ; + Gen => base_1+"ga" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"gum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"g" ; + Acc => base_1+"g" ; + Dat => base_1+"gum" ; + Gen => base_1+"ga" + } + } + } + }; + _ => error "Can't apply paradigm mkA013" + } ; + +mkA014 : Str -> A ; +mkA014 base = + case base of { + base_1+"ddur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ddur" ; + Acc => base_1+"ddan" ; + Dat => base_1+"ddum" ; + Gen => base_1+"øs" + } ; + Pl => table { + Nom => base_1+"ddir" ; + Acc => base_1+"ddar" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"dd" ; + Acc => base_1+"dda" ; + Dat => base_1+"ddari" ; + Gen => base_1+"ddar" + } ; + Pl => table { + Nom => base_1+"ddar" ; + Acc => base_1+"ddar" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"ddum" ; + Gen => base_1+"øs" + } ; + Pl => table { + Nom => base_1+"dd" ; + Acc => base_1+"dd" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } + } + }; + _ => error "Can't apply paradigm mkA014" + } ; + +mkA015 : Str -> A ; +mkA015 base = + case base of { + base_1+"a"+base_2@("ng"|"m"|(?+?+?))+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"ari" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"o"+base_2 ; + Acc => base_1+"o"+base_2 ; + Dat => base_1+"o"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA015" + } ; + +mkA016 : Str -> A ; +mkA016 base = + case base of { + base_1+"mur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"mur" ; + Acc => base_1+"man" ; + Dat => base_1+"mum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"mir" ; + Acc => base_1+"mar" ; + Dat => base_1+"mum" ; + Gen => base_1+"madimra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"m" ; + Acc => base_1+"ma" ; + Dat => base_1+"mari" ; + Gen => base_1+"mar" + } ; + Pl => table { + Nom => base_1+"mar" ; + Acc => base_1+"mar" ; + Dat => base_1+"mum" ; + Gen => base_1+"madimra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"mum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"m" ; + Acc => base_1+"m" ; + Dat => base_1+"mum" ; + Gen => base_1+"madimra" + } + } + } + }; + _ => error "Can't apply paradigm mkA016" + } ; + +mkA017 : Str -> A ; +mkA017 base = + case base of { + base_1+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ur" ; + Acc => base_1+"an" ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ir" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1 ; + Acc => base_1+"a" ; + Dat => base_1+"ari" ; + Gen => base_1+"ar" + } ; + Pl => table { + Nom => base_1+"ar" ; + Acc => base_1+"ar" ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"um" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1 ; + Acc => base_1 ; + Dat => base_1+"um" ; + Gen => base_1+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA017" + } ; + +mkA018 : Str -> A ; +mkA018 base = + case base of { + base_1+"kur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"kur" ; + Acc => base_1+"kan" ; + Dat => base_1+"kum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"kir" ; + Acc => base_1+"kar" ; + Dat => base_1+"kum" ; + Gen => base_1+"kadøkra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"k" ; + Acc => base_1+"ka" ; + Dat => base_1+"kari" ; + Gen => base_1+"kar" + } ; + Pl => table { + Nom => base_1+"kar" ; + Acc => base_1+"kar" ; + Dat => base_1+"kum" ; + Gen => base_1+"kadøkra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"kum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"k" ; + Acc => base_1+"k" ; + Dat => base_1+"kum" ; + Gen => base_1+"kadøkra" + } + } + } + }; + _ => error "Can't apply paradigm mkA018" + } ; + +mkA019 : Str -> A ; +mkA019 base = + case base of { + base_1+"tin" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"tin" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"tins" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"tin" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tið" ; + Acc => base_1+"tið" ; + Dat => base_1+"num" ; + Gen => base_1+"tins" + } ; + Pl => table { + Nom => base_1+"tin" ; + Acc => base_1+"tin" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA019" + } ; + +mkA020 : Str -> A ; +mkA020 base = + case base of { + base_1+"a"+base_2@?+"dur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"dur" ; + Acc => base_1+"a"+base_2+"dan" ; + Dat => base_1+"ø"+base_2+"dum" ; + Gen => base_1+"a"+base_2+"ds" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"dir" ; + Acc => base_1+"a"+base_2+"dar" ; + Dat => base_1+"ø"+base_2+"dum" ; + Gen => base_1+"a"+base_2+"da" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2+"d" ; + Acc => base_1+"a"+base_2+"da" ; + Dat => base_1+"a"+base_2+"dari" ; + Gen => base_1+"a"+base_2+"dar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"dar" ; + Acc => base_1+"a"+base_2+"dar" ; + Dat => base_1+"ø"+base_2+"dum" ; + Gen => base_1+"a"+base_2+"da" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"dum" ; + Gen => base_1+"a"+base_2+"ds" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"d" ; + Acc => base_1+"ø"+base_2+"d" ; + Dat => base_1+"ø"+base_2+"dum" ; + Gen => base_1+"a"+base_2+"da" + } + } + } + }; + _ => error "Can't apply paradigm mkA020" + } ; + +mkA021 : Str -> A ; +mkA021 base = + case base of { + base_1+"a"+base_2@?+"lur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"lur" ; + Acc => base_1+"a"+base_2+"lan" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"lir" ; + Acc => base_1+"a"+base_2+"lar" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"la" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2+"l" ; + Acc => base_1+"a"+base_2+"la" ; + Dat => base_1+"a"+base_2+"lari" ; + Gen => base_1+"a"+base_2+"lar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"lar" ; + Acc => base_1+"a"+base_2+"lar" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"la" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"l" ; + Acc => base_1+"ø"+base_2+"l" ; + Dat => base_1+"ø"+base_2+"lum" ; + Gen => base_1+"a"+base_2+"la" + } + } + } + }; + _ => error "Can't apply paradigm mkA021" + } ; + +mkA022 : Str -> A ; +mkA022 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"ari" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA022" + } ; + +mkA023 : Str -> A ; +mkA023 base = + case base of { + base_1+"rin" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"rin" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"rins" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"rin" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"rið" ; + Acc => base_1+"rið" ; + Dat => base_1+"num" ; + Gen => base_1+"rins" + } ; + Pl => table { + Nom => base_1+"rin" ; + Acc => base_1+"rin" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA023" + } ; + +mkA024 : Str -> A ; +mkA024 base = + case base of { + base_1+"lur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"lur" ; + Acc => base_1+"lan" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"lir" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"lafulra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"l" ; + Acc => base_1+"la" ; + Dat => base_1+"lari" ; + Gen => base_1+"lar" + } ; + Pl => table { + Nom => base_1+"lar" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"lafulra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"lum" ; + Gen => base_1+"lafulra" + } + } + } + }; + _ => error "Can't apply paradigm mkA024" + } ; + +mkA025 : Str -> A ; +mkA025 base = + case base of { + base_1+"a"+base_2@?+"a"+base_3@? => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3 ; + Acc => base_1+"a"+base_2+base_3+"an" ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+"a"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ir" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"o"+base_2+"u"+base_3 ; + Acc => base_1+"a"+base_2+base_3+"a" ; + Dat => base_1+"a"+base_2+base_3+"ari" ; + Gen => base_1+"a"+base_2+base_3+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ar" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"a"+base_3+"t" ; + Acc => base_1+"a"+base_2+"a"+base_3+"t" ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"s" + } ; + Pl => table { + Nom => base_1+"o"+base_2+"u"+base_3 ; + Acc => base_1+"o"+base_2+"u"+base_3 ; + Dat => base_1+"o"+base_2+base_3+"um" ; + Gen => base_1+"a"+base_2+base_3+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA025" + } ; + +mkA026 : Str -> A ; +mkA026 base = + case base of { + base_1+"óður" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"óður" ; + Acc => base_1+"óðan" ; + Dat => base_1+"óðum" ; + Gen => base_1+"óðs" + } ; + Pl => table { + Nom => base_1+"óðir" ; + Acc => base_1+"óðar" ; + Dat => base_1+"óðum" ; + Gen => base_1+"óða" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"óð" ; + Acc => base_1+"óða" ; + Dat => base_1+"óðari" ; + Gen => base_1+"óðar" + } ; + Pl => table { + Nom => base_1+"óðar" ; + Acc => base_1+"óðar" ; + Dat => base_1+"óðum" ; + Gen => base_1+"óða" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"ott" ; + Acc => base_1+"ott" ; + Dat => base_1+"óðum" ; + Gen => base_1+"óðs" + } ; + Pl => table { + Nom => base_1+"óð" ; + Acc => base_1+"óð" ; + Dat => base_1+"óðum" ; + Gen => base_1+"óða" + } + } + } + }; + _ => error "Can't apply paradigm mkA026" + } ; + +mkA027 : Str -> A ; +mkA027 base = + case base of { + base_1+"ei"+base_2@?+"a"+base_3@?+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ei"+base_2+"a"+base_3+"ur" ; + Acc => base_1+"a"+base_2+base_3+"an" ; + Dat => base_1+"a"+base_2+base_3+"um" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ir" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"a"+base_2+base_3+"um" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ei"+base_2+"u"+base_3 ; + Acc => base_1+"a"+base_2+base_3+"a" ; + Dat => base_1+"a"+base_2+base_3+"ari" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+base_3+"ar" ; + Acc => base_1+"a"+base_2+base_3+"ar" ; + Dat => base_1+"a"+base_2+base_3+"um" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"ei"+base_2+"a"+base_3+"t" ; + Acc => base_1+"ei"+base_2+"a"+base_3+"t" ; + Dat => base_1+"a"+base_2+base_3+"um" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"s" + } ; + Pl => table { + Nom => base_1+"ei"+base_2+"u"+base_3 ; + Acc => base_1+"ei"+base_2+"u"+base_3 ; + Dat => base_1+"a"+base_2+base_3+"um" ; + Gen => base_1+"ei"+base_2+"a"+base_3+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA027" + } ; + +mkA028 : Str -> A ; +mkA028 base = + case base of { + base_1+"pin" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"pin" ; + Acc => base_1+"nan" ; + Dat => base_1+"num" ; + Gen => base_1+"pins" + } ; + Pl => table { + Nom => base_1+"nir" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"pin" ; + Acc => base_1+"na" ; + Dat => base_1+"nari" ; + Gen => base_1+"nar" + } ; + Pl => table { + Nom => base_1+"nar" ; + Acc => base_1+"nar" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"pið" ; + Acc => base_1+"pið" ; + Dat => base_1+"num" ; + Gen => base_1+"pins" + } ; + Pl => table { + Nom => base_1+"pin" ; + Acc => base_1+"pin" ; + Dat => base_1+"num" ; + Gen => base_1+"na" + } + } + } + }; + _ => error "Can't apply paradigm mkA028" + } ; + +mkA029 : Str -> A ; +mkA029 base = + case base of { + base_1+"a"+base_2@?+"sur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"sur" ; + Acc => base_1+"a"+base_2+"san" ; + Dat => base_1+"ø"+base_2+"sum" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"sir" ; + Acc => base_1+"a"+base_2+"sar" ; + Dat => base_1+"ø"+base_2+"sum" ; + Gen => base_1+"a"+base_2+"sa" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2+"s" ; + Acc => base_1+"a"+base_2+"sa" ; + Dat => base_1+"a"+base_2+"sari" ; + Gen => base_1+"a"+base_2+"sar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"sar" ; + Acc => base_1+"a"+base_2+"sar" ; + Dat => base_1+"ø"+base_2+"sum" ; + Gen => base_1+"a"+base_2+"sa" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"sum" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2+"s" ; + Acc => base_1+"ø"+base_2+"s" ; + Dat => base_1+"ø"+base_2+"sum" ; + Gen => base_1+"a"+base_2+"sa" + } + } + } + }; + _ => error "Can't apply paradigm mkA029" + } ; + +mkA030 : Str -> A ; +mkA030 base = + case base of { + base_1+"ddur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ddur" ; + Acc => base_1+"ddan" ; + Dat => base_1+"ddum" ; + Gen => base_1+"ds" + } ; + Pl => table { + Nom => base_1+"ddir" ; + Acc => base_1+"ddar" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"dd" ; + Acc => base_1+"dda" ; + Dat => base_1+"ddari" ; + Gen => base_1+"ddar" + } ; + Pl => table { + Nom => base_1+"ddar" ; + Acc => base_1+"ddar" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"ddum" ; + Gen => base_1+"ds" + } ; + Pl => table { + Nom => base_1+"dd" ; + Acc => base_1+"dd" ; + Dat => base_1+"ddum" ; + Gen => base_1+"dda" + } + } + } + }; + _ => error "Can't apply paradigm mkA030" + } ; + +mkA031 : Str -> A ; +mkA031 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"alatra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"ari" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"alatra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"alatra" + } + } + } + }; + _ => error "Can't apply paradigm mkA031" + } ; + +mkA032 : Str -> A ; +mkA032 base = + case base of { + base_1+"ðin" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ðin" ; + Acc => base_1+"dnan" ; + Dat => base_1+"dnum" ; + Gen => base_1+"ðins" + } ; + Pl => table { + Nom => base_1+"dnir" ; + Acc => base_1+"dnar" ; + Dat => base_1+"dnum" ; + Gen => base_1+"dna" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ðin" ; + Acc => base_1+"dna" ; + Dat => base_1+"dnari" ; + Gen => base_1+"dnar" + } ; + Pl => table { + Nom => base_1+"dnar" ; + Acc => base_1+"dnar" ; + Dat => base_1+"dnum" ; + Gen => base_1+"dna" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"ðið" ; + Acc => base_1+"ðið" ; + Dat => base_1+"dnum" ; + Gen => base_1+"ðins" + } ; + Pl => table { + Nom => base_1+"ðin" ; + Acc => base_1+"ðin" ; + Dat => base_1+"dnum" ; + Gen => base_1+"dna" + } + } + } + }; + _ => error "Can't apply paradigm mkA032" + } ; + +mkA033 : Str -> A ; +mkA033 base = + case base of { + base_1+"ggjur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"ggjur" ; + Acc => base_1+"ggjan" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ggir" ; + Acc => base_1+"ggjar" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"ggja" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggja" ; + Dat => base_1+"ggjari" ; + Gen => base_1+"ggjar" + } ; + Pl => table { + Nom => base_1+"ggjar" ; + Acc => base_1+"ggjar" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"ggja" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"ggj" ; + Acc => base_1+"ggj" ; + Dat => base_1+"ggjum" ; + Gen => base_1+"ggja" + } + } + } + }; + _ => error "Can't apply paradigm mkA033" + } ; + +mkA034 : Str -> A ; +mkA034 base = + case base of { + base_1+"a"+base_2@?+"ur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"a"+base_2+"ur" ; + Acc => base_1+"a"+base_2+"an" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ir" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"amakra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"a"+base_2+"a" ; + Dat => base_1+"a"+base_2+"ari" ; + Gen => base_1+"a"+base_2+"ar" + } ; + Pl => table { + Nom => base_1+"a"+base_2+"ar" ; + Acc => base_1+"a"+base_2+"ar" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"amakra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"a"+base_2+"t" ; + Acc => base_1+"a"+base_2+"t" ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"ø"+base_2 ; + Acc => base_1+"ø"+base_2 ; + Dat => base_1+"ø"+base_2+"um" ; + Gen => base_1+"a"+base_2+"amakra" + } + } + } + }; + _ => error "Can't apply paradigm mkA034" + } ; + +mkA035 : Str -> A ; +mkA035 base = + case base of { + base_1+"il" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"il" ; + Acc => base_1+"lan" ; + Dat => base_1+"lum" ; + Gen => base_1+"ils" + } ; + Pl => table { + Nom => base_1+"lir" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"il" ; + Acc => base_1+"la" ; + Dat => base_1+"lari" ; + Gen => base_1+"lar" + } ; + Pl => table { + Nom => base_1+"lar" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"ið" ; + Acc => base_1+"ið" ; + Dat => base_1+"lum" ; + Gen => base_1+"ils" + } ; + Pl => table { + Nom => base_1+"il" ; + Acc => base_1+"il" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } + } + }; + _ => error "Can't apply paradigm mkA035" + } ; + +mkA036 : Str -> A ; +mkA036 base = + case base of { + base_1+"lur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"lur" ; + Acc => base_1+"lan" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"lir" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"l" ; + Acc => base_1+"la" ; + Dat => base_1+"lari" ; + Gen => base_1+"lar" + } ; + Pl => table { + Nom => base_1+"lar" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"lum" ; + Gen => base_1+"la" + } + } + } + }; + _ => error "Can't apply paradigm mkA036" + } ; + +mkA037 : Str -> A ; +mkA037 base = + case base of { + base_1+"gvur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"gvur" ; + Acc => base_1+"gvan" ; + Dat => base_1+"gvum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gvir" ; + Acc => base_1+"gvar" ; + Dat => base_1+"gvum" ; + Gen => base_1+"gva" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"gv" ; + Acc => base_1+"gva" ; + Dat => base_1+"gvari" ; + Gen => base_1+"gvar" + } ; + Pl => table { + Nom => base_1+"gvar" ; + Acc => base_1+"gvar" ; + Dat => base_1+"gvum" ; + Gen => base_1+"gva" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"tt" ; + Acc => base_1+"tt" ; + Dat => base_1+"gvum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"gv" ; + Acc => base_1+"gv" ; + Dat => base_1+"gvum" ; + Gen => base_1+"gva" + } + } + } + }; + _ => error "Can't apply paradigm mkA037" + } ; + +mkA038 : Str -> A ; +mkA038 base = + case base of { + base_1+"u"+base_2@? => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+base_2+"an" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+base_2+"ir" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+base_2+"a" ; + Dat => base_1+base_2+"ari" ; + Gen => base_1+base_2+"ar" + } ; + Pl => table { + Nom => base_1+base_2+"ar" ; + Acc => base_1+base_2+"ar" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"u"+base_2+"t" ; + Acc => base_1+"u"+base_2+"t" ; + Dat => base_1+base_2+"um" ; + Gen => base_1+"u"+base_2+"s" + } ; + Pl => table { + Nom => base_1+"u"+base_2 ; + Acc => base_1+"u"+base_2 ; + Dat => base_1+base_2+"um" ; + Gen => base_1+base_2+"a" + } + } + } + }; + _ => error "Can't apply paradigm mkA038" + } ; + +mkA039 : Str -> A ; +mkA039 base = + case base of { + base_1+"rur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"rur" ; + Acc => base_1+"ran" ; + Dat => base_1+"rum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"rir" ; + Acc => base_1+"rar" ; + Dat => base_1+"rum" ; + Gen => base_1+"ra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"r" ; + Acc => base_1+"ra" ; + Dat => base_1+"rari" ; + Gen => base_1+"rar" + } ; + Pl => table { + Nom => base_1+"rar" ; + Acc => base_1+"rar" ; + Dat => base_1+"rum" ; + Gen => base_1+"ra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"rum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"r" ; + Acc => base_1+"r" ; + Dat => base_1+"rum" ; + Gen => base_1+"ra" + } + } + } + }; + _ => error "Can't apply paradigm mkA039" + } ; + +mkA040 : Str -> A ; +mkA040 base = + case base of { + base_1+"lur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"lur" ; + Acc => base_1+"lan" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"lir" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"lavilra" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"l" ; + Acc => base_1+"la" ; + Dat => base_1+"lari" ; + Gen => base_1+"lar" + } ; + Pl => table { + Nom => base_1+"lar" ; + Acc => base_1+"lar" ; + Dat => base_1+"lum" ; + Gen => base_1+"lavilra" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"lum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"l" ; + Acc => base_1+"l" ; + Dat => base_1+"lum" ; + Gen => base_1+"lavilra" + } + } + } + }; + _ => error "Can't apply paradigm mkA040" + } ; + +mkA041 : Str -> A ; +mkA041 base = + case base of { + base_1+"sur" => lin A + { s = table { + Masc => table { + Sg => table { + Nom => base_1+"sur" ; + Acc => base_1+"san" ; + Dat => base_1+"sum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"sir" ; + Acc => base_1+"sar" ; + Dat => base_1+"sum" ; + Gen => base_1+"sa" + } + } ; + Fem => table { + Sg => table { + Nom => base_1+"s" ; + Acc => base_1+"sa" ; + Dat => base_1+"sari" ; + Gen => base_1+"sar" + } ; + Pl => table { + Nom => base_1+"sar" ; + Acc => base_1+"sar" ; + Dat => base_1+"sum" ; + Gen => base_1+"sa" + } + } ; + Neutr => table { + Sg => table { + Nom => base_1+"t" ; + Acc => base_1+"t" ; + Dat => base_1+"sum" ; + Gen => base_1+"s" + } ; + Pl => table { + Nom => base_1+"s" ; + Acc => base_1+"s" ; + Dat => base_1+"sum" ; + Gen => base_1+"sa" + } + } + } + }; + _ => error "Can't apply paradigm mkA041" + } ; + +mkV001 : Str -> V ; +mkV001 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"að" ; + Imperative_Jussive = table { + Sg => base_1+"a" ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ar" ; + PSg P3 => base_1+"ar" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"aði" ; + PSg P2 => base_1+"aði" ; + PSg P3 => base_1+"aði" ; + PPl => base_1+"aðu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"aður" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV001" + } ; + +mkV002 : Str -> V ; +mkV002 base = + case base of { + "ei"+base_1+"a" => lin V + { Converb = "hi"+base_1+"ið" ; + Imperative_Jussive = table { + Sg => "ei"+base_1 ; + Pl => "ei"+base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => "ei"+base_1+"i" ; + PSg P2 => "ei"+base_1+"ur" ; + PSg P3 => "ei"+base_1+"ur" ; + PPl => "ei"+base_1+"a" + } ; + Past => table { + PSg P1 => "hæ"+base_1 ; + PSg P2 => "hæ"+base_1 ; + PSg P3 => "hæ"+base_1 ; + PPl => "hi"+base_1+"u" + } + } ; + Nonfinite = "ei"+base_1+"a" ; + Participle = table { + Pres => "ei"+base_1+"andi" ; + Past => "hi"+base_1+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV002" + } ; + +mkV003 : Str -> V ; +mkV003 base = + case base of { + "a"+base_1+"a" => lin V + { Converb = "i"+base_1+"ið" ; + Imperative_Jussive = table { + Sg => "a"+base_1 ; + Pl => "a"+base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => "a"+base_1+"i" ; + PSg P2 => "e"+base_1+"ur" ; + PSg P3 => "e"+base_1+"ur" ; + PPl => "a"+base_1+"a" + } ; + Past => table { + PSg P1 => "ó"+base_1 ; + PSg P2 => "ó"+base_1+"st" ; + PSg P3 => "ó"+base_1 ; + PPl => "ó"+base_1+"u" + } + } ; + Nonfinite = "a"+base_1+"a" ; + Participle = table { + Pres => "a"+base_1+"andi" ; + Past => "i"+base_1+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV003" + } ; + +mkV004 : Str -> V ; +mkV004 base = + case base of { + "a"+base_1+"a" => lin V + { Converb = "a"+base_1+"ið" ; + Imperative_Jussive = table { + Sg => "a"+base_1 ; + Pl => "a"+base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => "a"+base_1+"i" ; + PSg P2 => "e"+base_1+"ur" ; + PSg P3 => "e"+base_1+"ur" ; + PPl => "a"+base_1+"a" + } ; + Past => table { + PSg P1 => "ó"+base_1 ; + PSg P2 => "ó"+base_1+"st" ; + PSg P3 => "ó"+base_1 ; + PPl => "ó"+base_1+"u" + } + } ; + Nonfinite = "a"+base_1+"a" ; + Participle = table { + Pres => "a"+base_1+"andi" ; + Past => "a"+base_1+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV004" + } ; + +mkV005 : Str -> V ; +mkV005 base = + case base of { + base_1+"a"+base_2@(?+?) => lin V + { Converb = base_1+"a"+base_2 ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2 ; + PSg P2 => base_1+"a"+base_2 ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"a"+base_2 + } ; + Past => table { + PSg P1 => base_1+"aði"+base_2 ; + PSg P2 => base_1+"aði"+base_2 ; + PSg P3 => base_1+"aði"+base_2 ; + PPl => base_1+"aðu"+base_2 + } + } ; + Nonfinite = base_1+"a"+base_2 ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV005" + } ; + +mkV006 : Str -> V ; +mkV006 base = + case base of { + base_1+"ða" => lin V + { Converb = base_1+"tt" ; + Imperative_Jussive = table { + Sg => base_1+"ð" ; + Pl => base_1+"ðið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ði" ; + PSg P2 => base_1+"ðir" ; + PSg P3 => base_1+"ðir" ; + PPl => base_1+"ða" + } ; + Past => table { + PSg P1 => base_1+"ddi" ; + PSg P2 => base_1+"ddi" ; + PSg P3 => base_1+"ddi" ; + PPl => base_1+"ddu" + } + } ; + Nonfinite = base_1+"ða" ; + Participle = table { + Pres => base_1+"ðandi" ; + Past => base_1+"ddur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV006" + } ; + +mkV007 : Str -> V ; +mkV007 base = + case base of { + "eiga" => lin V + { Converb = "átt" ; + Imperative_Jussive = table { + Sg => "eig" ; + Pl => "eigið" + } ; + Indicative = table { + Pres => table { + PSg P1 => "eigi" ; + PSg P2 => "eigureigir" ; + PSg P3 => "eigureigir" ; + PPl => "eiga" + } ; + Past => table { + PSg P1 => "áttiár" ; + PSg P2 => "áttiár" ; + PSg P3 => "áttiár" ; + PPl => "áttu" + } + } ; + Nonfinite = "eiga" ; + Participle = table { + Pres => "eigandi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV007" + } ; + +mkV008 : Str -> V ; +mkV008 base = + case base of { + base_1+"e"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"t" ; + PSg P3 => base_1+"e"+base_2 ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"t" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV008" + } ; + +mkV009 : Str -> V ; +mkV009 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV009" + } ; + +mkV010 : Str -> V ; +mkV010 base = + case base of { + base_1+"da" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"d" ; + Pl => base_1+"dið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"dir" ; + PSg P3 => base_1+"dir" ; + PPl => base_1+"da" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"da" ; + Participle = table { + Pres => base_1+"dandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV010" + } ; + +mkV011 : Str -> V ; +mkV011 base = + case base of { + base_1+"e"+base_2@?+"ja" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"j" ; + Pl => base_1+"e"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"ji" ; + PSg P2 => base_1+"e"+base_2+"jir" ; + PSg P3 => base_1+"e"+base_2+"jir" ; + PPl => base_1+"e"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"di" ; + PSg P2 => base_1+"a"+base_2+"di" ; + PSg P3 => base_1+"a"+base_2+"di" ; + PPl => base_1+"a"+base_2+"du" + } + } ; + Nonfinite = base_1+"e"+base_2+"ja" ; + Participle = table { + Pres => base_1+"e"+base_2+"jandi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV011" + } ; + +mkV012 : Str -> V ; +mkV012 base = + case base of { + base_1+"i"+base_2@?+"ja" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"ji" ; + PSg P2 => base_1+"i"+base_2+"ur" ; + PSg P3 => base_1+"i"+base_2+"ur" ; + PPl => base_1+"i"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"i"+base_2+"ja" ; + Participle = table { + Pres => base_1+"i"+base_2+"jandi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV012" + } ; + +mkV013 : Str -> V ; +mkV013 base = + case base of { + base_1+"i"+base_2@?+"da" => lin V + { Converb = base_1+"u"+base_2+"dið" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2+"d" ; + Pl => base_1+"i"+base_2+"dið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"di" ; + PSg P2 => base_1+"i"+base_2+"dur" ; + PSg P3 => base_1+"i"+base_2+"dur" ; + PPl => base_1+"i"+base_2+"da" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"t" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"t" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"i"+base_2+"da" ; + Participle = table { + Pres => base_1+"i"+base_2+"dandi" ; + Past => base_1+"u"+base_2+"din" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV013" + } ; + +mkV014 : Str -> V ; +mkV014 base = + case base of { + base_1+"í"+base_2@?+"a" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"í"+base_2 ; + Pl => base_1+"í"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"í"+base_2+"i" ; + PSg P2 => base_1+"í"+base_2+"ur" ; + PSg P3 => base_1+"í"+base_2+"ur" ; + PPl => base_1+"í"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ei"+base_2 ; + PSg P2 => base_1+"ei"+base_2+"st" ; + PSg P3 => base_1+"ei"+base_2 ; + PPl => base_1+"i"+base_2+"u" + } + } ; + Nonfinite = base_1+"í"+base_2+"a" ; + Participle = table { + Pres => base_1+"í"+base_2+"andi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV014" + } ; + +mkV015 : Str -> V ; +mkV015 base = + case base of { + base_1+"jó"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"jó"+base_2 ; + Pl => base_1+"jó"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"jó"+base_2+"i" ; + PSg P2 => base_1+"ý"+base_2+"ur" ; + PSg P3 => base_1+"ý"+base_2+"ur" ; + PPl => base_1+"jó"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"jó"+base_2+"a" ; + Participle = table { + Pres => base_1+"jó"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV015" + } ; + +mkV016 : Str -> V ; +mkV016 base = + case base of { + base_1+"gja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"g" ; + Pl => base_1+"gið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"gi" ; + PSg P2 => base_1+"gir" ; + PSg P3 => base_1+"gir" ; + PPl => base_1+"gja" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"gja" ; + Participle = table { + Pres => base_1+"gjandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV016" + } ; + +mkV017 : Str -> V ; +mkV017 base = + case base of { + base_1+"e"+base_2@?+"na" => lin V + { Converb = base_1+"u"+base_2+"nið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"n" ; + Pl => base_1+"e"+base_2+"nið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"ni" ; + PSg P2 => base_1+"e"+base_2+"nur" ; + PSg P3 => base_1+"e"+base_2+"nur" ; + PPl => base_1+"e"+base_2+"na" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"n" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"n" ; + PPl => base_1+"u"+base_2+"nu" + } + } ; + Nonfinite = base_1+"e"+base_2+"na" ; + Participle = table { + Pres => base_1+"e"+base_2+"nandi" ; + Past => base_1+"u"+base_2+"nin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV017" + } ; + +mkV018 : Str -> V ; +mkV018 base = + case base of { + base_1+"e"+base_2@("m"|(?+?))+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV018" + } ; + +mkV019 : Str -> V ; +mkV019 base = + case base of { + base_1+"ó"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ó"+base_2 ; + Pl => base_1+"ó"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ó"+base_2+"i" ; + PSg P2 => base_1+"ý"+base_2+"ur" ; + PSg P3 => base_1+"ý"+base_2+"ur" ; + PPl => base_1+"ó"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"ó"+base_2+"a" ; + Participle = table { + Pres => base_1+"ó"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV019" + } ; + +mkV020 : Str -> V ; +mkV020 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV020" + } ; + +mkV021 : Str -> V ; +mkV021 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"að" ; + Imperative_Jussive = table { + Sg => base_1+"a" ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ar" ; + PSg P3 => base_1+"ar" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV021" + } ; + +mkV022 : Str -> V ; +mkV022 base = + case base of { + base_1+"úgva" => lin V + { Converb = base_1+"úð" ; + Imperative_Jussive = table { + Sg => base_1+"úgv" ; + Pl => base_1+"úgvið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"úgvi" ; + PSg P2 => base_1+"ýrt" ; + PSg P3 => base_1+"ýr" ; + PPl => base_1+"úgva" + } ; + Past => table { + PSg P1 => base_1+"úði" ; + PSg P2 => base_1+"úði" ; + PSg P3 => base_1+"úði" ; + PPl => base_1+"úðu" + } + } ; + Nonfinite = base_1+"úgva" ; + Participle = table { + Pres => base_1+"úgvandi" ; + Past => base_1+"úgvin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV022" + } ; + +mkV023 : Str -> V ; +mkV023 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ur" ; + PSg P3 => base_1+"ur" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV023" + } ; + +mkV024 : Str -> V ; +mkV024 base = + case base of { + base_1+"e"+base_2@?+base_3@?+"a" => lin V + { Converb = base_1+"o"+base_2+base_3+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+base_3 ; + Pl => base_1+"e"+base_2+base_3+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+base_3+"i" ; + PSg P2 => base_1+"e"+base_2+base_3+"ur" ; + PSg P3 => base_1+"e"+base_2+base_3+"ur" ; + PPl => base_1+"e"+base_2+base_3+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+base_3 ; + PSg P2 => base_1+"a"+base_2+"s"+base_3 ; + PSg P3 => base_1+"a"+base_2+base_3 ; + PPl => base_1+"u"+base_2+base_3+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+base_3+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+base_3+"andi" ; + Past => base_1+"o"+base_2+base_3+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV024" + } ; + +mkV025 : Str -> V ; +mkV025 base = + case base of { + base_1+"ggja" => lin V + { Converb = base_1+"ð" ; + Imperative_Jussive = table { + Sg => base_1+"ggj" ; + Pl => base_1+"ggið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ggi" ; + PSg P2 => base_1+"rt" ; + PSg P3 => base_1+"r" ; + PPl => base_1+"ggja" + } ; + Past => table { + PSg P1 => base_1+"ði" ; + PSg P2 => base_1+"ði" ; + PSg P3 => base_1+"ði" ; + PPl => base_1+"ðu" + } + } ; + Nonfinite = base_1+"ggja" ; + Participle = table { + Pres => base_1+"ggjandi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV025" + } ; + +mkV026 : Str -> V ; +mkV026 base = + case base of { + base_1+"aga" => lin V + { Converb = base_1+"igið" ; + Imperative_Jussive = table { + Sg => base_1+"ag" ; + Pl => base_1+"agið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"agi" ; + PSg P2 => base_1+"egur" ; + PSg P3 => base_1+"egur" ; + PPl => base_1+"aga" + } ; + Past => table { + PSg P1 => base_1+"ó" ; + PSg P2 => base_1+"óst" ; + PSg P3 => base_1+"ó" ; + PPl => base_1+"ógu" + } + } ; + Nonfinite = base_1+"aga" ; + Participle = table { + Pres => base_1+"agandi" ; + Past => base_1+"igin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV026" + } ; + +mkV027 : Str -> V ; +mkV027 base = + case base of { + base_1+"e"+base_2@?+"ka" => lin V + { Converb = base_1+"u"+base_2+"kið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"k" ; + Pl => base_1+"e"+base_2+"kið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"ki" ; + PSg P2 => base_1+"e"+base_2+"kur" ; + PSg P3 => base_1+"e"+base_2+"kur" ; + PPl => base_1+"e"+base_2+"ka" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"k" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"k" ; + PPl => base_1+"u"+base_2+"ku" + } + } ; + Nonfinite = base_1+"e"+base_2+"ka" ; + Participle = table { + Pres => base_1+"e"+base_2+"kandi" ; + Past => base_1+"u"+base_2+"kin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV027" + } ; + +mkV028 : Str -> V ; +mkV028 base = + case base of { + base_1+"e"+base_2@?+"a" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV028" + } ; + +mkV029 : Str -> V ; +mkV029 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"að" ; + Imperative_Jussive = table { + Sg => base_1+"a" ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"aður" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV029" + } ; + +mkV030 : Str -> V ; +mkV030 base = + case base of { + "ve"+base_1+"a" => lin V + { Converb = "ve"+base_1+"ið" ; + Imperative_Jussive = table { + Sg => "ve"+base_1 ; + Pl => "ve"+base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => "e"+base_1+"i" ; + PSg P2 => "e"+base_1+"t" ; + PSg P3 => "e"+base_1 ; + PPl => "e"+base_1+"u" + } ; + Past => table { + PSg P1 => "va"+base_1 ; + PSg P2 => "va"+base_1+"t" ; + PSg P3 => "va"+base_1 ; + PPl => "vó"+base_1+"u" + } + } ; + Nonfinite = "ve"+base_1+"a" ; + Participle = table { + Pres => "ve"+base_1+"andi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV030" + } ; + +mkV031 : Str -> V ; +mkV031 base = + case base of { + base_1+"na" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"na" ; + Pl => base_1+"nið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ni" ; + PSg P2 => base_1+"nir" ; + PSg P3 => base_1+"nir" ; + PPl => base_1+"na" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"na" ; + Participle = table { + Pres => base_1+"nandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV031" + } ; + +mkV032 : Str -> V ; +mkV032 base = + case base of { + base_1+"a"+base_2@(?+?)+"a" => lin V + { Converb = base_1+"a"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"fell" ; + PSg P2 => base_1+"a"+base_2 ; + PSg P3 => base_1+"a"+base_2+"fell" ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV032" + } ; + +mkV033 : Str -> V ; +mkV033 base = + case base of { + base_1+"a"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"t" ; + PSg P3 => base_1+"e"+base_2 ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ó"+base_2 ; + PSg P2 => base_1+"ó"+base_2+"t" ; + PSg P3 => base_1+"ó"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV033" + } ; + +mkV034 : Str -> V ; +mkV034 base = + case base of { + base_1+"áa" => lin V + { Converb = base_1+"ingið" ; + Imperative_Jussive = table { + Sg => base_1+"á" ; + Pl => base_1+"áið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ái" ; + PSg P2 => base_1+"ært" ; + PSg P3 => base_1+"ær" ; + PPl => base_1+"áa" + } ; + Past => table { + PSg P1 => base_1+"ekk" ; + PSg P2 => base_1+"ekst" ; + PSg P3 => base_1+"ekk" ; + PPl => base_1+"ingu" + } + } ; + Nonfinite = base_1+"áa" ; + Participle = table { + Pres => nonExist ; + Past => base_1+"ingin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV034" + } ; + +mkV035 : Str -> V ; +mkV035 base = + case base of { + base_1+"la" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"la" ; + Pl => base_1+"lið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"li" ; + PSg P2 => base_1+"lir" ; + PSg P3 => base_1+"lir" ; + PPl => base_1+"la" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"la" ; + Participle = table { + Pres => base_1+"landi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV035" + } ; + +mkV036 : Str -> V ; +mkV036 base = + case base of { + base_1+"ða"+base_2@(?+?) => lin V + { Converb = base_1+"da"+base_2 ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ði"+base_2 ; + PSg P2 => base_1+"ða"+base_2 ; + PSg P3 => base_1+"ða"+base_2 ; + PPl => base_1+"ða"+base_2 + } ; + Past => table { + PSg P1 => base_1+"daði"+base_2 ; + PSg P2 => base_1+"daði"+base_2 ; + PSg P3 => base_1+"daði"+base_2 ; + PPl => base_1+"daðu"+base_2 + } + } ; + Nonfinite = base_1+"ða"+base_2 ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV036" + } ; + +mkV037 : Str -> V ; +mkV037 base = + case base of { + base_1+"a" => lin V + { Converb = base_1 ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"i" ; + PSg P3 => base_1+"i" ; + PPl => base_1+"u" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"ur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV037" + } ; + +mkV038 : Str -> V ; +mkV038 base = + case base of { + base_1+"e"+base_2@?+"ja" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ir" ; + PSg P3 => base_1+"e"+base_2+"ir" ; + PPl => base_1+"e"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"ti" ; + PSg P2 => base_1+"a"+base_2+"ti" ; + PSg P3 => base_1+"a"+base_2+"ti" ; + PPl => base_1+"a"+base_2+"tu" + } + } ; + Nonfinite = base_1+"e"+base_2+"ja" ; + Participle = table { + Pres => base_1+"e"+base_2+"jandi" ; + Past => base_1+"a"+base_2+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV038" + } ; + +mkV039 : Str -> V ; +mkV039 base = + case base of { + base_1+"na" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"n" ; + Pl => base_1+"nið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ni" ; + PSg P2 => base_1+"nir" ; + PSg P3 => base_1+"nir" ; + PPl => base_1+"na" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"na" ; + Participle = table { + Pres => base_1+"nandi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV039" + } ; + +mkV040 : Str -> V ; +mkV040 base = + case base of { + base_1+"ú"+base_2@?+"va" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ú"+base_2 ; + Pl => base_1+"ú"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ú"+base_2+"vi" ; + PSg P2 => base_1+"ý"+base_2+"ur" ; + PSg P3 => base_1+"ý"+base_2+"ur" ; + PPl => base_1+"ú"+base_2+"va" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"ú"+base_2+"va" ; + Participle = table { + Pres => base_1+"ú"+base_2+"vandi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV040" + } ; + +mkV041 : Str -> V ; +mkV041 base = + case base of { + base_1+"y"+base_2@?+"a" => lin V + { Converb = base_1+"u"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"y"+base_2 ; + Pl => base_1+"y"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"y"+base_2+"i" ; + PSg P2 => base_1+"y"+base_2+"ur" ; + PSg P3 => base_1+"y"+base_2+"ur" ; + PPl => base_1+"y"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"ti" ; + PSg P2 => base_1+"u"+base_2+"ti" ; + PSg P3 => base_1+"u"+base_2+"ti" ; + PPl => base_1+"u"+base_2+"tu" + } + } ; + Nonfinite = base_1+"y"+base_2+"a" ; + Participle = table { + Pres => base_1+"y"+base_2+"andi" ; + Past => base_1+"u"+base_2+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV041" + } ; + +mkV042 : Str -> V ; +mkV042 base = + case base of { + base_1+"e"+base_2@?+"ja" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"ji" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"di" ; + PSg P2 => base_1+"a"+base_2+"di" ; + PSg P3 => base_1+"a"+base_2+"di" ; + PPl => base_1+"a"+base_2+"du" + } + } ; + Nonfinite = base_1+"e"+base_2+"ja" ; + Participle = table { + Pres => base_1+"e"+base_2+"jandi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV042" + } ; + +mkV043 : Str -> V ; +mkV043 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"tt" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"ddi" ; + PSg P2 => base_1+"ddi" ; + PSg P3 => base_1+"ddi" ; + PPl => base_1+"ddu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"ddur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV043" + } ; + +mkV044 : Str -> V ; +mkV044 base = + case base of { + base_1+"ú"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ú"+base_2 ; + Pl => base_1+"ú"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ú"+base_2+"i" ; + PSg P2 => base_1+"ý"+base_2+"ur" ; + PSg P3 => base_1+"ý"+base_2+"ur" ; + PPl => base_1+"ú"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"ú"+base_2+"a" ; + Participle = table { + Pres => base_1+"ú"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV044" + } ; + +mkV045 : Str -> V ; +mkV045 base = + case base of { + base_1+"la" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"l" ; + Pl => base_1+"lið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"li" ; + PSg P2 => base_1+"lir" ; + PSg P3 => base_1+"lir" ; + PPl => base_1+"la" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"la" ; + Participle = table { + Pres => base_1+"landi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV045" + } ; + +mkV046 : Str -> V ; +mkV046 base = + case base of { + base_1+"a"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ó"+base_2 ; + PSg P2 => base_1+"ó"+base_2+"st" ; + PSg P3 => base_1+"ó"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV046" + } ; + +mkV047 : Str -> V ; +mkV047 base = + case base of { + base_1+"anga" => lin V + { Converb = base_1+"ingið" ; + Imperative_Jussive = table { + Sg => base_1+"akk" ; + Pl => base_1+"angið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"angi" ; + PSg P2 => base_1+"ongur" ; + PSg P3 => base_1+"ongur" ; + PPl => base_1+"anga" + } ; + Past => table { + PSg P1 => base_1+"ekk" ; + PSg P2 => base_1+"ekst" ; + PSg P3 => base_1+"ekk" ; + PPl => base_1+"ingu" + } + } ; + Nonfinite = base_1+"anga" ; + Participle = table { + Pres => base_1+"angandi" ; + Past => base_1+"ingin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV047" + } ; + +mkV048 : Str -> V ; +mkV048 base = + case base of { + base_1+"ja"+base_2@?+"da" => lin V + { Converb = base_1+"o"+base_2+"dið" ; + Imperative_Jussive = table { + Sg => base_1+"ja"+base_2+"d" ; + Pl => base_1+"ja"+base_2+"dið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ja"+base_2+"di" ; + PSg P2 => base_1+"e"+base_2+"dur" ; + PSg P3 => base_1+"e"+base_2+"dur" ; + PPl => base_1+"ja"+base_2+"da" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"t" ; + PSg P2 => base_1+"a"+base_2+"t" ; + PSg P3 => base_1+"a"+base_2+"t" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"ja"+base_2+"da" ; + Participle = table { + Pres => base_1+"ja"+base_2+"dandi" ; + Past => base_1+"o"+base_2+"din" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV048" + } ; + +mkV049 : Str -> V ; +mkV049 base = + case base of { + base_1+"e"+base_2@?+"a" => lin V + { Converb = base_1+"jø"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"t" ; + PSg P3 => base_1+"e"+base_2 ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"jø"+base_2+"di" ; + PSg P2 => base_1+"jø"+base_2+"di" ; + PSg P3 => base_1+"jø"+base_2+"di" ; + PPl => base_1+"jø"+base_2+"du" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"jø"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV049" + } ; + +mkV050 : Str -> V ; +mkV050 base = + case base of { + base_1+"jó"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"jó"+base_2 ; + Pl => base_1+"jó"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"jó"+base_2+"i" ; + PSg P2 => base_1+"ý"+base_2+"ur" ; + PSg P3 => base_1+"ý"+base_2+"ur" ; + PPl => base_1+"jó"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"t" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"jó"+base_2+"a" ; + Participle = table { + Pres => base_1+"jó"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV050" + } ; + +mkV051 : Str -> V ; +mkV051 base = + case base of { + base_1+"e"+base_2@?+"pa" => lin V + { Converb = base_1+"o"+base_2+"pið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"p" ; + Pl => base_1+"e"+base_2+"pið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"pi" ; + PSg P2 => base_1+"e"+base_2+"pur" ; + PSg P3 => base_1+"e"+base_2+"pur" ; + PPl => base_1+"e"+base_2+"pa" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"p" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"p" ; + PPl => base_1+"u"+base_2+"pu" + } + } ; + Nonfinite = base_1+"e"+base_2+"pa" ; + Participle = table { + Pres => base_1+"e"+base_2+"pandi" ; + Past => base_1+"o"+base_2+"pin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV051" + } ; + +mkV052 : Str -> V ; +mkV052 base = + case base of { + base_1+"y"+base_2@?+"ja" => lin V + { Converb = base_1+"u"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"y"+base_2 ; + Pl => base_1+"y"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"y"+base_2+"i" ; + PSg P2 => base_1+"y"+base_2+"ur" ; + PSg P3 => base_1+"y"+base_2+"ur" ; + PPl => base_1+"y"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"y"+base_2+"ja" ; + Participle = table { + Pres => base_1+"y"+base_2+"jandi" ; + Past => base_1+"u"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV052" + } ; + +mkV053 : Str -> V ; +mkV053 base = + case base of { + base_1+"á"+base_2@?+"a" => lin V + { Converb = base_1+"á"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"á"+base_2 ; + Pl => base_1+"á"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"á"+base_2+"i" ; + PSg P2 => base_1+"æ"+base_2+"ur" ; + PSg P3 => base_1+"æ"+base_2+"ur" ; + PPl => base_1+"á"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"æ"+base_2 ; + PSg P2 => base_1+"æ"+base_2+"st" ; + PSg P3 => base_1+"æ"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"á"+base_2+"a" ; + Participle = table { + Pres => base_1+"á"+base_2+"andi" ; + Past => base_1+"á"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV053" + } ; + +mkV054 : Str -> V ; +mkV054 base = + case base of { + base_1+"a"+base_2@?+"a" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ó"+base_2 ; + PSg P2 => base_1+"ó"+base_2+"st" ; + PSg P3 => base_1+"ó"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV054" + } ; + +mkV055 : Str -> V ; +mkV055 base = + case base of { + base_1+"ógva" => lin V + { Converb = base_1+"óð" ; + Imperative_Jussive = table { + Sg => base_1+"ógv" ; + Pl => base_1+"ógvið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ógvi" ; + PSg P2 => base_1+"ørt" ; + PSg P3 => base_1+"ør" ; + PPl => base_1+"ógva" + } ; + Past => table { + PSg P1 => base_1+"óði" ; + PSg P2 => base_1+"óði" ; + PSg P3 => base_1+"óði" ; + PPl => base_1+"óðu" + } + } ; + Nonfinite = base_1+"ógva" ; + Participle = table { + Pres => base_1+"ógvandi" ; + Past => base_1+"ógvin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV055" + } ; + +mkV056 : Str -> V ; +mkV056 base = + case base of { + base_1+"a"+base_2@?+"da" => lin V + { Converb = base_1+"i"+base_2+"dið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2+"d" ; + Pl => base_1+"a"+base_2+"dið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"di" ; + PSg P2 => base_1+"e"+base_2+"dur" ; + PSg P3 => base_1+"e"+base_2+"dur" ; + PPl => base_1+"a"+base_2+"da" + } ; + Past => table { + PSg P1 => base_1+"e"+base_2+"t" ; + PSg P2 => base_1+"e"+base_2+"tst" ; + PSg P3 => base_1+"e"+base_2+"t" ; + PPl => base_1+"i"+base_2+"du" + } + } ; + Nonfinite = base_1+"a"+base_2+"da" ; + Participle = table { + Pres => base_1+"a"+base_2+"dandi" ; + Past => base_1+"i"+base_2+"din" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV056" + } ; + +mkV057 : Str -> V ; +mkV057 base = + case base of { + base_1+"anga" => lin V + { Converb = base_1+"ingið" ; + Imperative_Jussive = table { + Sg => base_1+"ang" ; + Pl => base_1+"angið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"angi" ; + PSg P2 => base_1+"ongur" ; + PSg P3 => base_1+"ongur" ; + PPl => base_1+"anga" + } ; + Past => table { + PSg P1 => base_1+"ekk" ; + PSg P2 => base_1+"ekst" ; + PSg P3 => base_1+"ekk" ; + PPl => base_1+"ingu" + } + } ; + Nonfinite = base_1+"anga" ; + Participle = table { + Pres => base_1+"angandi" ; + Past => base_1+"ingin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV057" + } ; + +mkV058 : Str -> V ; +mkV058 base = + case base of { + base_1+"a"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"e"+base_2+"ði" ; + PSg P2 => base_1+"e"+base_2+"ði" ; + PSg P3 => base_1+"e"+base_2+"ði" ; + PPl => base_1+"ø"+base_2+"du" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV058" + } ; + +mkV059 : Str -> V ; +mkV059 base = + case base of { + base_1+"ei"+base_2@(?+?)+"ja" => lin V + { Converb = base_1+"o"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"ei"+base_2+"j" ; + Pl => base_1+"ei"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ei"+base_2+"i" ; + PSg P2 => base_1+"ei"+base_2+"ir" ; + PSg P3 => base_1+"ei"+base_2+"ir" ; + PPl => base_1+"ei"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"o"+base_2+"di" ; + PSg P2 => base_1+"o"+base_2+"di" ; + PSg P3 => base_1+"o"+base_2+"di" ; + PPl => base_1+"o"+base_2+"du" + } + } ; + Nonfinite = base_1+"ei"+base_2+"ja" ; + Participle = table { + Pres => base_1+"ei"+base_2+"jandi" ; + Past => base_1+"o"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV059" + } ; + +mkV060 : Str -> V ; +mkV060 base = + case base of { + base_1+"vø"+base_2@(?+?)+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"vø"+base_2 ; + Pl => base_1+"vø"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"vø"+base_2+"i" ; + PSg P2 => base_1+"vø"+base_2+"ur" ; + PSg P3 => base_1+"vø"+base_2+"ur" ; + PPl => base_1+"vø"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"va"+base_2 ; + PSg P2 => base_1+"va"+base_2+"st" ; + PSg P3 => base_1+"va"+base_2 ; + PPl => base_1+"vu"+base_2+"u" + } + } ; + Nonfinite = base_1+"vø"+base_2+"a" ; + Participle = table { + Pres => base_1+"vø"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV060" + } ; + +mkV061 : Str -> V ; +mkV061 base = + case base of { + base_1+"y"+base_2@?+"gja" => lin V + { Converb = base_1+"u"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"y"+base_2+"g" ; + Pl => base_1+"y"+base_2+"gið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"y"+base_2+"gi" ; + PSg P2 => base_1+"y"+base_2+"gur" ; + PSg P3 => base_1+"y"+base_2+"gur" ; + PPl => base_1+"y"+base_2+"gja" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"y"+base_2+"gja" ; + Participle = table { + Pres => base_1+"y"+base_2+"gjandi" ; + Past => base_1+"u"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV061" + } ; + +mkV062 : Str -> V ; +mkV062 base = + case base of { + base_1+"o"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"o"+base_2 ; + Pl => base_1+"o"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"o"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"o"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"o"+base_2 ; + PSg P2 => base_1+"o"+base_2+"st" ; + PSg P3 => base_1+"o"+base_2 ; + PPl => base_1+"o"+base_2+"u" + } + } ; + Nonfinite = base_1+"o"+base_2+"a" ; + Participle = table { + Pres => base_1+"o"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV062" + } ; + +mkV063 : Str -> V ; +mkV063 base = + case base of { + base_1+"pa" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"p" ; + Pl => base_1+"pið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"pi" ; + PSg P2 => base_1+"pir" ; + PSg P3 => base_1+"pir" ; + PPl => base_1+"pa" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"pa" ; + Participle = table { + Pres => base_1+"pandi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV063" + } ; + +mkV064 : Str -> V ; +mkV064 base = + case base of { + base_1+"úgva" => lin V + { Converb = base_1+"ovið" ; + Imperative_Jussive = table { + Sg => base_1+"úg" ; + Pl => base_1+"úgið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"úgvi" ; + PSg P2 => base_1+"ývur" ; + PSg P3 => base_1+"ývur" ; + PPl => base_1+"úgva" + } ; + Past => table { + PSg P1 => base_1+"eyv" ; + PSg P2 => base_1+"eyvst" ; + PSg P3 => base_1+"eyv" ; + PPl => base_1+"uvu" + } + } ; + Nonfinite = base_1+"úgva" ; + Participle = table { + Pres => base_1+"úgvandi" ; + Past => base_1+"ovin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV064" + } ; + +mkV065 : Str -> V ; +mkV065 base = + case base of { + base_1+"u"+base_2@?+"na" => lin V + { Converb = base_1+"u"+base_2+"nað" ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"n" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"n" ; + PPl => base_1+"u"+base_2+"nu" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"u"+base_2+"na" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV065" + } ; + +mkV066 : Str -> V ; +mkV066 base = + case base of { + base_1+"ø"+base_2@?+"a" => lin V + { Converb = base_1+"ø"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ø"+base_2 ; + Pl => base_1+"ø"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ø"+base_2+"i" ; + PSg P2 => base_1+"ø"+base_2+"ur" ; + PSg P3 => base_1+"ø"+base_2+"ur" ; + PPl => base_1+"ø"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"ø"+base_2+"a" ; + Participle = table { + Pres => base_1+"ø"+base_2+"andi" ; + Past => base_1+"ø"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV066" + } ; + +mkV067 : Str -> V ; +mkV067 base = + case base of { + base_1+"sa" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"s" ; + Pl => base_1+"sið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"si" ; + PSg P2 => base_1+"sir" ; + PSg P3 => base_1+"sir" ; + PPl => base_1+"sa" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"sa" ; + Participle = table { + Pres => base_1+"sandi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV067" + } ; + +mkV068 : Str -> V ; +mkV068 base = + case base of { + base_1+"a" => lin V + { Converb = base_1+"ið" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"r" ; + PSg P3 => base_1+"r" ; + PPl => base_1+"a" + } ; + Past => table { + PSg P1 => base_1+"ði" ; + PSg P2 => base_1+"ði" ; + PSg P3 => base_1+"ði" ; + PPl => base_1+"ðu" + } + } ; + Nonfinite = base_1+"a" ; + Participle = table { + Pres => base_1+"andi" ; + Past => base_1+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV068" + } ; + +mkV069 : Str -> V ; +mkV069 base = + case base of { + base_1+"e"+base_2@?+"gja" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"gj" ; + Pl => base_1+"e"+base_2+"gjið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"gi" ; + PSg P2 => base_1+"e"+base_2+"gur" ; + PSg P3 => base_1+"e"+base_2+"gur" ; + PPl => base_1+"e"+base_2+"gja" + } ; + Past => table { + PSg P1 => base_1+"e"+base_2+"ði" ; + PSg P2 => base_1+"e"+base_2+"ði" ; + PSg P3 => base_1+"e"+base_2+"ði" ; + PPl => base_1+"ø"+base_2+"du" + } + } ; + Nonfinite = base_1+"e"+base_2+"gja" ; + Participle = table { + Pres => base_1+"e"+base_2+"gjandi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV069" + } ; + +mkV070 : Str -> V ; +mkV070 base = + case base of { + base_1+"iggja" => lin V + { Converb = base_1+"igið" ; + Imperative_Jussive = table { + Sg => base_1+"igg" ; + Pl => base_1+"iggið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"iggi" ; + PSg P2 => base_1+"iggur" ; + PSg P3 => base_1+"iggur" ; + PPl => base_1+"iggja" + } ; + Past => table { + PSg P1 => base_1+"á" ; + PSg P2 => base_1+"ást" ; + PSg P3 => base_1+"á" ; + PPl => base_1+"ógu" + } + } ; + Nonfinite = base_1+"iggja" ; + Participle = table { + Pres => base_1+"iggjandi" ; + Past => base_1+"igin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV070" + } ; + +mkV071 : Str -> V ; +mkV071 base = + case base of { + base_1+"e"+base_2@?+"a" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"t" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV071" + } ; + +mkV072 : Str -> V ; +mkV072 base = + case base of { + base_1+"a"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"æ"+base_2 ; + PSg P2 => base_1+"æ"+base_2+"st" ; + PSg P3 => base_1+"æ"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV072" + } ; + +mkV073 : Str -> V ; +mkV073 base = + case base of { + base_1+"á"+base_2@?+"a" => lin V + { Converb = base_1+"á"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"á"+base_2 ; + Pl => base_1+"á"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"á"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"á"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"æ"+base_2 ; + PSg P2 => base_1+"æ"+base_2+"st" ; + PSg P3 => base_1+"æ"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"á"+base_2+"a" ; + Participle = table { + Pres => base_1+"á"+base_2+"andi" ; + Past => base_1+"á"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV073" + } ; + +mkV074 : Str -> V ; +mkV074 base = + case base of { + base_1+"ey"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ey"+base_2 ; + Pl => base_1+"ey"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ey"+base_2+"i" ; + PSg P2 => base_1+"oy"+base_2+"ur" ; + PSg P3 => base_1+"oy"+base_2+"ur" ; + PPl => base_1+"ey"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"ey"+base_2+"a" ; + Participle = table { + Pres => base_1+"ey"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV074" + } ; + +mkV075 : Str -> V ; +mkV075 base = + case base of { + base_1+"ega" => lin V + { Converb = nonExist ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"á" ; + PSg P2 => base_1+"ást" ; + PSg P3 => base_1+"á" ; + PPl => base_1+"ugu" + } ; + Past => table { + PSg P1 => base_1+"átti" ; + PSg P2 => base_1+"átti" ; + PSg P3 => base_1+"átti" ; + PPl => base_1+"áttu" + } + } ; + Nonfinite = base_1+"ega" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV075" + } ; + +mkV076 : Str -> V ; +mkV076 base = + case base of { + base_1+"u"+base_2@?+"na" => lin V + { Converb = base_1+"u"+base_2+"nað" ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"nu" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"u"+base_2+"na" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV076" + } ; + +mkV077 : Str -> V ; +mkV077 base = + case base of { + base_1+"ja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"ja" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"ja" ; + Participle = table { + Pres => base_1+"jandi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV077" + } ; + +mkV078 : Str -> V ; +mkV078 base = + case base of { + base_1+"ja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ji" ; + PSg P2 => base_1+"ur" ; + PSg P3 => base_1+"ur" ; + PPl => base_1+"ja" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"ja" ; + Participle = table { + Pres => base_1+"jandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV078" + } ; + +mkV079 : Str -> V ; +mkV079 base = + case base of { + base_1+"ða" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"ð" ; + Pl => base_1+"ðið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ði" ; + PSg P2 => base_1+"ðir" ; + PSg P3 => base_1+"ðir" ; + PPl => base_1+"ða" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"ða" ; + Participle = table { + Pres => base_1+"ðandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV079" + } ; + +mkV080 : Str -> V ; +mkV080 base = + case base of { + base_1+"áa" => lin V + { Converb = base_1+"átt" ; + Imperative_Jussive = table { + Sg => base_1+"á" ; + Pl => base_1+"áið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ái" ; + PSg P2 => base_1+"ær" ; + PSg P3 => base_1+"ær" ; + PPl => base_1+"áa" + } ; + Past => table { + PSg P1 => base_1+"áddi" ; + PSg P2 => base_1+"áddi" ; + PSg P3 => base_1+"áddi" ; + PPl => base_1+"áddu" + } + } ; + Nonfinite = base_1+"áa" ; + Participle = table { + Pres => base_1+"áandi" ; + Past => base_1+"áddur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV080" + } ; + +mkV081 : Str -> V ; +mkV081 base = + case base of { + base_1+"áða" => lin V + { Converb = base_1+"átt" ; + Imperative_Jussive = table { + Sg => base_1+"áð" ; + Pl => base_1+"áðið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"áði" ; + PSg P2 => base_1+"æður" ; + PSg P3 => base_1+"æður" ; + PPl => base_1+"áða" + } ; + Past => table { + PSg P1 => base_1+"addi" ; + PSg P2 => base_1+"addi" ; + PSg P3 => base_1+"addi" ; + PPl => base_1+"addu" + } + } ; + Nonfinite = base_1+"áða" ; + Participle = table { + Pres => base_1+"áðandi" ; + Past => base_1+"áðin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV081" + } ; + +mkV082 : Str -> V ; +mkV082 base = + case base of { + base_1+"ða"+base_2@(?+?) => lin V + { Converb = base_1+"ð"+base_2 ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ði"+base_2 ; + PSg P2 => base_1+"ða"+base_2 ; + PSg P3 => base_1+"ða"+base_2 ; + PPl => base_1+"ða"+base_2 + } ; + Past => table { + PSg P1 => base_1+"ddi"+base_2 ; + PSg P2 => base_1+"ddi"+base_2 ; + PSg P3 => base_1+"ddi"+base_2 ; + PPl => base_1+"ddu"+base_2 + } + } ; + Nonfinite = base_1+"ða"+base_2 ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV082" + } ; + +mkV083 : Str -> V ; +mkV083 base = + case base of { + base_1+"ø"+base_2@?+"ka" => lin V + { Converb = base_1+"o"+base_2+"kið" ; + Imperative_Jussive = table { + Sg => base_1+"ø"+base_2+"k" ; + Pl => base_1+"ø"+base_2+"kið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ø"+base_2+"ki" ; + PSg P2 => base_1+"ø"+base_2+"kur" ; + PSg P3 => base_1+"ø"+base_2+"kur" ; + PPl => base_1+"ø"+base_2+"ka" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"k" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"k" ; + PPl => base_1+"u"+base_2+"ku" + } + } ; + Nonfinite = base_1+"ø"+base_2+"ka" ; + Participle = table { + Pres => base_1+"ø"+base_2+"kandi" ; + Past => base_1+"o"+base_2+"kin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV083" + } ; + +mkV084 : Str -> V ; +mkV084 base = + case base of { + base_1+"íggja" => lin V + { Converb = base_1+"æð" ; + Imperative_Jussive = table { + Sg => base_1+"íggj" ; + Pl => base_1+"íggið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"íggi" ; + PSg P2 => base_1+"ært" ; + PSg P3 => base_1+"ær" ; + PPl => base_1+"íggja" + } ; + Past => table { + PSg P1 => base_1+"á" ; + PSg P2 => base_1+"ást" ; + PSg P3 => base_1+"á" ; + PPl => base_1+"óu" + } + } ; + Nonfinite = base_1+"íggja" ; + Participle = table { + Pres => base_1+"íggjandi" ; + Past => base_1+"æddur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV084" + } ; + +mkV085 : Str -> V ; +mkV085 base = + case base of { + base_1+"kja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"k" ; + Pl => base_1+"kið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ki" ; + PSg P2 => base_1+"kir" ; + PSg P3 => base_1+"kir" ; + PPl => base_1+"kja" + } ; + Past => table { + PSg P1 => base_1+"ti" ; + PSg P2 => base_1+"ti" ; + PSg P3 => base_1+"ti" ; + PPl => base_1+"tu" + } + } ; + Nonfinite = base_1+"kja" ; + Participle = table { + Pres => base_1+"kjandi" ; + Past => base_1+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV085" + } ; + +mkV086 : Str -> V ; +mkV086 base = + case base of { + base_1+"i"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"i" ; + PSg P2 => base_1+"i"+base_2+"ur" ; + PSg P3 => base_1+"i"+base_2+"ur" ; + PPl => base_1+"i"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"e"+base_2+"ði" ; + PSg P2 => base_1+"e"+base_2+"ði" ; + PSg P3 => base_1+"e"+base_2+"ði" ; + PPl => base_1+"ø"+base_2+"du" + } + } ; + Nonfinite = base_1+"i"+base_2+"a" ; + Participle = table { + Pres => base_1+"i"+base_2+"andi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV086" + } ; + +mkV087 : Str -> V ; +mkV087 base = + case base of { + base_1+"i"+base_2@?+"a" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"i" ; + PSg P2 => base_1+"i"+base_2+"ur" ; + PSg P3 => base_1+"i"+base_2+"ur" ; + PPl => base_1+"i"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => "sat"+base_1+base_2 ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"i"+base_2+"a" ; + Participle = table { + Pres => base_1+"i"+base_2+"andi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV087" + } ; + +mkV088 : Str -> V ; +mkV088 base = + case base of { + base_1+"u"+base_2@?+"a" => lin V + { Converb = base_1+"u"+base_2+"að" ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"t" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"u"+base_2+"a" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV088" + } ; + +mkV089 : Str -> V ; +mkV089 base = + case base of { + base_1+"ei"+base_2@(?+?)+"ja" => lin V + { Converb = base_1+"o"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"ei"+base_2+"j" ; + Pl => base_1+"ei"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ei"+base_2+"i" ; + PSg P2 => base_1+"ei"+base_2+"ir" ; + PSg P3 => base_1+"ei"+base_2+"ir" ; + PPl => base_1+"ei"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"o"+base_2+"ti" ; + PSg P2 => base_1+"o"+base_2+"ti" ; + PSg P3 => base_1+"o"+base_2+"ti" ; + PPl => base_1+"o"+base_2+"tu" + } + } ; + Nonfinite = base_1+"ei"+base_2+"ja" ; + Participle = table { + Pres => base_1+"ei"+base_2+"jandi" ; + Past => base_1+"o"+base_2+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV089" + } ; + +mkV090 : Str -> V ; +mkV090 base = + case base of { + base_1+"ja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1+"j" ; + Pl => base_1+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ji" ; + PSg P2 => base_1+"jir" ; + PSg P3 => base_1+"jir" ; + PPl => base_1+"ja" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"ja" ; + Participle = table { + Pres => base_1+"jandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV090" + } ; + +mkV091 : Str -> V ; +mkV091 base = + case base of { + base_1+"jó"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"jó"+base_2 ; + Pl => base_1+"jó"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"jó"+base_2+"i" ; + PSg P2 => base_1+"jý"+base_2+"ur" ; + PSg P3 => base_1+"jý"+base_2+"ur" ; + PPl => base_1+"jó"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ey"+base_2 ; + PSg P2 => base_1+"ey"+base_2+"st" ; + PSg P3 => base_1+"ey"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"jó"+base_2+"a" ; + Participle = table { + Pres => base_1+"jó"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV091" + } ; + +mkV092 : Str -> V ; +mkV092 base = + case base of { + base_1+"áa" => lin V + { Converb = base_1+"igið" ; + Imperative_Jussive = table { + Sg => base_1+"á" ; + Pl => base_1+"áið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ái" ; + PSg P2 => base_1+"ært" ; + PSg P3 => base_1+"ær" ; + PPl => base_1+"áa" + } ; + Past => table { + PSg P1 => base_1+"ó" ; + PSg P2 => base_1+"óst" ; + PSg P3 => base_1+"ó" ; + PPl => base_1+"ógu" + } + } ; + Nonfinite = base_1+"áa" ; + Participle = table { + Pres => base_1+"áandi" ; + Past => base_1+"igin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV092" + } ; + +mkV093 : Str -> V ; +mkV093 base = + case base of { + base_1+"y"+base_2@?+"ja" => lin V + { Converb = base_1+"u"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"y"+base_2 ; + Pl => base_1+"y"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"y"+base_2+"ji" ; + PSg P2 => base_1+"y"+base_2+"t" ; + PSg P3 => base_1+"y"+base_2 ; + PPl => base_1+"y"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"u"+base_2+"di" ; + PSg P2 => base_1+"u"+base_2+"di" ; + PSg P3 => base_1+"u"+base_2+"di" ; + PPl => base_1+"u"+base_2+"du" + } + } ; + Nonfinite = base_1+"y"+base_2+"ja" ; + Participle = table { + Pres => base_1+"y"+base_2+"jandi" ; + Past => base_1+"u"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV093" + } ; + +mkV094 : Str -> V ; +mkV094 base = + case base of { + base_1+"i"+base_2@?+"na" => lin V + { Converb = base_1+"u"+base_2+"nið" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2+"n" ; + Pl => base_1+"i"+base_2+"nið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"ni" ; + PSg P2 => base_1+"i"+base_2+"nur" ; + PSg P3 => base_1+"i"+base_2+"nur" ; + PPl => base_1+"i"+base_2+"na" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"n" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"n" ; + PPl => base_1+"u"+base_2+"nu" + } + } ; + Nonfinite = base_1+"i"+base_2+"na" ; + Participle = table { + Pres => base_1+"i"+base_2+"nandi" ; + Past => base_1+"u"+base_2+"nin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV094" + } ; + +mkV095 : Str -> V ; +mkV095 base = + case base of { + base_1+"anda" => lin V + { Converb = base_1+"aðið" ; + Imperative_Jussive = table { + Sg => base_1+"att" ; + Pl => base_1+"andið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"andi" ; + PSg P2 => base_1+"endur" ; + PSg P3 => base_1+"endur" ; + PPl => base_1+"anda" + } ; + Past => table { + PSg P1 => base_1+"óð" ; + PSg P2 => base_1+"óðst" ; + PSg P3 => base_1+"óð" ; + PPl => base_1+"óðu" + } + } ; + Nonfinite = base_1+"anda" ; + Participle = table { + Pres => base_1+"andandi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV095" + } ; + +mkV096 : Str -> V ; +mkV096 base = + case base of { + base_1+"ei"+base_2@?+"ja" => lin V + { Converb = base_1+"o"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"ei"+base_2 ; + Pl => base_1+"ei"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ei"+base_2+"i" ; + PSg P2 => base_1+"ei"+base_2+"ir" ; + PSg P3 => base_1+"ei"+base_2+"ir" ; + PPl => base_1+"ei"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"o"+base_2+"ti" ; + PSg P2 => base_1+"o"+base_2+"ti" ; + PSg P3 => base_1+"o"+base_2+"ti" ; + PPl => base_1+"o"+base_2+"tu" + } + } ; + Nonfinite = base_1+"ei"+base_2+"ja" ; + Participle = table { + Pres => base_1+"ei"+base_2+"jandi" ; + Past => base_1+"o"+base_2+"tur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV096" + } ; + +mkV097 : Str -> V ; +mkV097 base = + case base of { + base_1+"inga" => lin V + { Converb = base_1+"ungið" ; + Imperative_Jussive = table { + Sg => base_1+"ikk" ; + Pl => base_1+"ingið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ingi" ; + PSg P2 => base_1+"ingur" ; + PSg P3 => base_1+"ingur" ; + PPl => base_1+"inga" + } ; + Past => table { + PSg P1 => base_1+"akk" ; + PSg P2 => base_1+"akst" ; + PSg P3 => base_1+"akk" ; + PPl => base_1+"ungu" + } + } ; + Nonfinite = base_1+"inga" ; + Participle = table { + Pres => base_1+"ingandi" ; + Past => base_1+"ungin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV097" + } ; + +mkV098 : Str -> V ; +mkV098 base = + case base of { + base_1+"ja"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ja"+base_2 ; + Pl => base_1+"ja"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ja"+base_2+"i" ; + PSg P2 => base_1+"je"+base_2+"ur" ; + PSg P3 => base_1+"je"+base_2+"ur" ; + PPl => base_1+"ja"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"jó"+base_2 ; + PSg P2 => base_1+"jó"+base_2+"st" ; + PSg P3 => base_1+"jó"+base_2 ; + PPl => base_1+"jó"+base_2+"u" + } + } ; + Nonfinite = base_1+"ja"+base_2+"a" ; + Participle = table { + Pres => base_1+"ja"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV098" + } ; + +mkV099 : Str -> V ; +mkV099 base = + case base of { + base_1+"o"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"o"+base_2 ; + Pl => base_1+"o"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"o"+base_2+"i" ; + PSg P2 => base_1+base_2+"evur" ; + PSg P3 => base_1+base_2+"evur" ; + PPl => base_1+"o"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+base_2+"av" ; + PSg P2 => base_1+base_2+"avst" ; + PSg P3 => base_1+base_2+"av" ; + PPl => base_1+base_2+"óvu" + } + } ; + Nonfinite = base_1+"o"+base_2+"a" ; + Participle = table { + Pres => base_1+"o"+base_2+"andi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV099" + } ; + +mkV100 : Str -> V ; +mkV100 base = + case base of { + base_1+"í"+base_2@?+"ja" => lin V + { Converb = base_1+"i"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"í"+base_2+"j" ; + Pl => base_1+"í"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"í"+base_2+"i" ; + PSg P2 => base_1+"í"+base_2+"ur" ; + PSg P3 => base_1+"í"+base_2+"ur" ; + PPl => base_1+"í"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"ei"+base_2 ; + PSg P2 => base_1+"ei"+base_2+"st" ; + PSg P3 => base_1+"ei"+base_2 ; + PPl => base_1+"i"+base_2+"u" + } + } ; + Nonfinite = base_1+"í"+base_2+"ja" ; + Participle = table { + Pres => base_1+"í"+base_2+"jandi" ; + Past => base_1+"i"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV100" + } ; + +mkV101 : Str -> V ; +mkV101 base = + case base of { + base_1+"i"+base_2@?+"ja" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"ji" ; + PSg P2 => base_1+"i"+base_2+"ur" ; + PSg P3 => base_1+"i"+base_2+"ur" ; + PPl => base_1+"i"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"i"+base_2+"ja" ; + Participle = table { + Pres => base_1+"i"+base_2+"jandi" ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV101" + } ; + +mkV102 : Str -> V ; +mkV102 base = + case base of { + base_1+"ja" => lin V + { Converb = base_1+"t" ; + Imperative_Jussive = table { + Sg => base_1 ; + Pl => base_1+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i" ; + PSg P2 => base_1+"ir" ; + PSg P3 => base_1+"ir" ; + PPl => base_1+"ja" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"ja" ; + Participle = table { + Pres => base_1+"jandi" ; + Past => base_1+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV102" + } ; + +mkV103 : Str -> V ; +mkV103 base = + case base of { + base_1+"ø"+base_2@?+"ja" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"ø"+base_2+"j" ; + Pl => base_1+"ø"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"ø"+base_2+"ji" ; + PSg P2 => base_1+"ø"+base_2+"t" ; + PSg P3 => base_1+"ø"+base_2 ; + PPl => base_1+"ø"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"ó"+base_2 ; + PSg P2 => base_1+"ó"+base_2+"st" ; + PSg P3 => base_1+"ó"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"ø"+base_2+"ja" ; + Participle = table { + Pres => base_1+"ø"+base_2+"jandi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV103" + } ; + +mkV104 : Str -> V ; +mkV104 base = + case base of { + base_1+"y"+base_2@(?+?)+"ja" => lin V + { Converb = base_1+"u"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"y"+base_2+"j" ; + Pl => base_1+"y"+base_2+"jið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"y"+base_2+"i" ; + PSg P2 => base_1+"y"+base_2+"ur" ; + PSg P3 => base_1+"y"+base_2+"ur" ; + PPl => base_1+"y"+base_2+"ja" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2 ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"y"+base_2+"ja" ; + Participle = table { + Pres => base_1+"y"+base_2+"jandi" ; + Past => base_1+"u"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV104" + } ; + +mkV105 : Str -> V ; +mkV105 base = + case base of { + base_1+"i"+base_2@?+"a" => lin V + { Converb = base_1+"a"+base_2+"t" ; + Imperative_Jussive = table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"i"+base_2+"i" ; + PSg P2 => base_1+"i"+base_2+"ur" ; + PSg P3 => base_1+"i"+base_2+"ur" ; + PPl => base_1+"i"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"di" ; + PSg P2 => base_1+"a"+base_2+"di" ; + PSg P3 => base_1+"a"+base_2+"di" ; + PPl => base_1+"a"+base_2+"du" + } + } ; + Nonfinite = base_1+"i"+base_2+"a" ; + Participle = table { + Pres => base_1+"i"+base_2+"andi" ; + Past => base_1+"a"+base_2+"dur" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV105" + } ; + +mkV106 : Str -> V ; +mkV106 base = + case base of { + base_1+"e"+base_2@?+"fa" => lin V + { Converb = base_1+"o"+base_2+"fið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2+"f" ; + Pl => base_1+"e"+base_2+"fið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"fi" ; + PSg P2 => base_1+"e"+base_2+"fur" ; + PSg P3 => base_1+"e"+base_2+"fur" ; + PPl => base_1+"e"+base_2+"fa" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2+"f" ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2+"f" ; + PPl => base_1+"u"+base_2+"fu" + } + } ; + Nonfinite = base_1+"e"+base_2+"fa" ; + Participle = table { + Pres => base_1+"e"+base_2+"fandi" ; + Past => base_1+"o"+base_2+"fin" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV106" + } ; + +mkV107 : Str -> V ; +mkV107 base = + case base of { + base_1+"a"+base_2@(?+?)+"a" => lin V + { Converb = base_1+"a"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"a"+base_2 ; + Pl => base_1+"a"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"a"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"a"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2 ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"u"+base_2+"u" + } + } ; + Nonfinite = base_1+"a"+base_2+"a" ; + Participle = table { + Pres => base_1+"a"+base_2+"andi" ; + Past => base_1+"a"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV107" + } ; + +mkV108 : Str -> V ; +mkV108 base = + case base of { + base_1+"e"+base_2@(?+?)+"a" => lin V + { Converb = nonExist ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2 ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV108" + } ; + +mkV109 : Str -> V ; +mkV109 base = + case base of { + base_1+base_2@?+base_3@?+"a" => lin V + { Converb = base_1+base_2+base_3+"að" ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+base_3 ; + PSg P2 => base_1+"e"+base_2+base_3+"st" ; + PSg P3 => base_1+"e"+base_2+base_3 ; + PPl => base_1+base_2+base_3+"a" + } ; + Past => table { + PSg P1 => base_1+base_2+"s"+base_3+"i" ; + PSg P2 => base_1+base_2+"s"+base_3+"i" ; + PSg P3 => base_1+base_2+"s"+base_3+"i" ; + PPl => base_1+base_2+"s"+base_3+"u" + } + } ; + Nonfinite = base_1+base_2+base_3+"a" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV109" + } ; + +mkV110 : Str -> V ; +mkV110 base = + case base of { + "d"+base_1+"finite" => lin V + { Converb = "v"+base_1+"rð" ; + Imperative_Jussive = table { + Sg => "v"+base_1+"rðsins" ; + Pl => "v"+base_1+"rðanna" + } ; + Indicative = table { + Pres => table { + PSg P1 => "v"+base_1+"rð" ; + PSg P2 => "v"+base_1+"rðið" ; + PSg P3 => "v"+base_1+"rð" ; + PPl => "v"+base_1+"rðini" + } ; + Past => table { + PSg P1 => "v"+base_1+"rð" ; + PSg P2 => "v"+base_1+"rðið" ; + PSg P3 => "v"+base_1+"rð" ; + PPl => "v"+base_1+"rðini" + } + } ; + Nonfinite = "d"+base_1+"finite" ; + Participle = table { + Pres => "v"+base_1+"rð" ; + Past => "v"+base_1+"rð" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV110" + } ; + +mkV111 : Str -> V ; +mkV111 base = + case base of { + base_1+"e"+base_2@?+"a" => lin V + { Converb = base_1+"o"+base_2+"ið" ; + Imperative_Jussive = table { + Sg => base_1+"e"+base_2 ; + Pl => base_1+"e"+base_2+"ið" + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1+"e"+base_2+"i" ; + PSg P2 => base_1+"e"+base_2+"ur" ; + PSg P3 => base_1+"e"+base_2+"ur" ; + PPl => base_1+"e"+base_2+"a" + } ; + Past => table { + PSg P1 => base_1+"a"+base_2 ; + PSg P2 => base_1+"a"+base_2+"st" ; + PSg P3 => base_1+"a"+base_2 ; + PPl => base_1+"ó"+base_2+"u" + } + } ; + Nonfinite = base_1+"e"+base_2+"a" ; + Participle = table { + Pres => base_1+"e"+base_2+"andi" ; + Past => base_1+"o"+base_2+"in" + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV111" + } ; + +mkV112 : Str -> V ; +mkV112 base = + case base of { + base_1+"ja" => lin V + { Converb = base_1+"að" ; + Imperative_Jussive = table { + Sg => nonExist ; + Pl => nonExist + } ; + Indicative = table { + Pres => table { + PSg P1 => base_1 ; + PSg P2 => base_1+"t" ; + PSg P3 => base_1 ; + PPl => base_1+"ja" + } ; + Past => table { + PSg P1 => base_1+"di" ; + PSg P2 => base_1+"di" ; + PSg P3 => base_1+"di" ; + PPl => base_1+"du" + } + } ; + Nonfinite = base_1+"ja" ; + Participle = table { + Pres => nonExist ; + Past => nonExist + } ; + particle = [] + }; + _ => error "Can't apply paradigm mkV112" + } ; +} diff --git a/src/faroese/NounFao.gf b/src/faroese/NounFao.gf new file mode 100644 index 00000000..b9133c36 --- /dev/null +++ b/src/faroese/NounFao.gf @@ -0,0 +1,4 @@ +concrete NounFao of Noun = CatFao ** { +lin + UseN n = n ; +} diff --git a/src/faroese/ParadigmsFao.gf b/src/faroese/ParadigmsFao.gf new file mode 100644 index 00000000..1bb0fb14 --- /dev/null +++ b/src/faroese/ParadigmsFao.gf @@ -0,0 +1,572 @@ +resource ParadigmsFao = MorphoFao ** open Predef, Prelude, CatFao, ResFao in { +oper + regN : Str -> N -- s;Indef;Sg;Nom + = \form -> case form of { + _ + "aður" => mkN032 form; + _ + "eki" => mkN025 form; + _ + "ski" => mkN014 form; + _ + "ýki" => mkN002 form; + _ + "rki" => mkN014 form; + _ + "lki" => mkN014 form; + _ + "øki" => mkN014 form; + _ + "øri" => mkN002 form; + _ + "vri" => mkN021 form; + _ + "lri" => mkN031 form; + _ + "yri" => mkN079 form; + _ + "ldi" => mkN031 form; + _ + "dni" => mkN002 form; + _ + "gni" => mkN002 form; + _ + "vni" => mkN021 form; + _ + "avi" => mkN021 form; + _ + "rvi" => mkN031 form; + _ + "yvi" => mkN031 form; + _ + "ugi" => mkN021 form; + _ + "ggi" => mkN040 form; + _ + "rgi" => mkN014 form; + _ + "øpi" => mkN002 form; + _ + "ýpi" => mkN031 form; + _ + "ppi" => mkN031 form; + _ + "mli" => mkN021 form; + _ + "pli" => mkN031 form; + _ + "æli" => mkN031 form; + _ + "iði" => mkN031 form; + _ + "æði" => mkN031 form; + _ + "ýði" => mkN031 form; + _ + "eði" => mkN104 form; + _ + "ysi" => mkN002 form; + _ + "lsi" => mkN031 form; + _ + "esi" => mkN031 form; + _ + "æmi" => mkN002 form; + _ + "ami" => mkN021 form; + _ + "ømi" => mkN031 form; + _ + "rmi" => mkN079 form; + _ + "sur" => mkN003 form; + _ + "øur" => mkN009 form; + _ + "ýur" => mkN009 form; + _ + "par" => mkN008 form; + _ + "gar" => mkN015 form; + _ + "tar" => mkN019 form; + _ + "mar" => mkN159 form; + _ + "fer" => mkN008 form; + _ + "ter" => mkN019 form; + _ + "tør" => mkN015 form; + _ + "dir" => mkN133 form; + _ + "ørr" => mkN139 form; + _ + "arn" => mkN004 form; + _ + "ørn" => mkN018 form; + _ + "agn" => mkN008 form; + _ + "ogn" => mkN007 form; + _ + "egn" => mkN008 form; + _ + "pan" => mkN007 form; + _ + "ran" => mkN008 form; + _ + "ian" => mkN008 form; + _ + "ton" => mkN008 form; + _ + "lon" => mkN019 form; + _ + "ein" => mkN019 form; + _ + "min" => mkN045 form; + _ + "vín" => mkN019 form; + _ + "ekn" => mkN019 form; + _ + "gun" => mkN024 form; + _ + "ødn" => mkN018 form; + _ + "jún" => mkN115 form; + _ + "lak" => mkN008 form; + _ + "bak" => mkN049 form; + _ + "ark" => mkN004 form; + _ + "ørk" => mkN018 form; + _ + "tsk" => mkN007 form; + _ + "pik" => mkN008 form; + _ + "eik" => mkN015 form; + _ + "økk" => mkN018 form; + _ + "ekk" => mkN068 form; + _ + "ikk" => mkN068 form; + _ + "úkk" => mkN163 form; + _ + "røk" => mkN121 form; + _ + "øgg" => mkN007 form; + _ + "agg" => mkN091 form; + _ + "org" => mkN015 form; + _ + "log" => mkN049 form; + _ + "ald" => mkN004 form; + _ + "old" => mkN007 form; + _ + "rgd" => mkN007 form; + _ + "und" => mkN019 form; + _ + "and" => mkN096 form; + _ + "ond" => mkN117 form; + _ + "ødd" => mkN088 form; + _ + "arð" => mkN004 form; + _ + "urð" => mkN006 form; + _ + "ørð" => mkN018 form; + _ + "lið" => mkN027 form; + _ + "nið" => mkN027 form; + _ + "ráð" => mkN027 form; + _ + "jal" => mkN004 form; + _ + "gal" => mkN038 form; + _ + "eil" => mkN006 form; + _ + "fil" => mkN099 form; + _ + "sól" => mkN007 form; + _ + "egl" => mkN015 form; + _ + "øll" => mkN078 form; + _ + "ell" => mkN078 form; + _ + "lat" => mkN004 form; + _ + "ikt" => mkN007 form; + _ + "átt" => mkN137 form; + _ + "itt" => mkN087 form; + _ + "ýtt" => mkN087 form; + _ + "att" => mkN087 form; + _ + "uft" => mkN007 form; + _ + "bót" => mkN007 form; + _ + "ist" => mkN008 form; + _ + "øst" => mkN008 form; + _ + "jøt" => mkN008 form; + _ + "eit" => mkN015 form; + _ + "rát" => mkN008 form; + _ + "pet" => mkN015 form; + _ + "álp" => mkN007 form; + _ + "upp" => mkN015 form; + _ + "alv" => mkN004 form; + _ + "eyv" => mkN006 form; + _ + "úgv" => mkN132 form; + _ + "yga" => mkN044 form; + _ + "oka" => mkN012 form; + _ + "ina" => mkN012 form; + _ + "mla" => mkN012 form; + _ + "vja" => mkN012 form; + _ + "tsj" => mkN015 form; + _ + "tos" => mkN026 form; + _ + "jús" => mkN026 form; + _ + "lús" => mkN047 form; + _ + "mús" => mkN047 form; + _ + "bus" => mkN026 form; + _ + "ins" => mkN026 form; + _ + "fræ" => mkN027 form; + _ + "omb" => mkN117 form; + _ + "ði" => mkN025 form; + _ + "fi" => mkN002 form; + _ + "ai" => mkN015 form; + _ + "ar" => mkN004 form; + _ + "ðr" => mkN006 form; + _ + "er" => mkN046 form; + _ + "úr" => mkN007 form; + _ + "or" => mkN008 form; + _ + "yr" => mkN008 form; + _ + "ør" => mkN008 form; + _ + "ár" => mkN019 form; + _ + "ór" => mkN019 form; + _ + "ýr" => mkN019 form; + _ + "ir" => mkN053 form; + _ + "ír" => mkN019 form; + _ + "ær" => mkN034 form; + _ + "æv" => mkN034 form; + _ + "rr" => mkN080 form; + _ + "rn" => mkN008 form; + _ + "vn" => mkN004 form; + _ + "gn" => mkN018 form; + _ + "tn" => mkN004 form; + _ + "in" => mkN008 form; + _ + "ín" => mkN008 form; + _ + "yn" => mkN008 form; + _ + "nn" => mkN051 form; + _ + "ún" => mkN019 form; + _ + "ýn" => mkN019 form; + _ + "sn" => mkN019 form; + _ + "án" => mkN019 form; + _ + "pn" => mkN019 form; + _ + "ak" => mkN004 form; + _ + "ík" => mkN006 form; + _ + "sk" => mkN008 form; + _ + "ðk" => mkN008 form; + _ + "kk" => mkN015 form; + _ + "øk" => mkN018 form; + _ + "ók" => mkN061 form; + _ + "ag" => mkN004 form; + _ + "gg" => mkN063 form; + _ + "óg" => mkN015 form; + _ + "rg" => mkN019 form; + _ + "ig" => mkN019 form; + _ + "og" => mkN027 form; + _ + "ld" => mkN019 form; + _ + "dd" => mkN076 form; + _ + "vd" => mkN118 form; + _ + "að" => mkN004 form; + _ + "rð" => mkN019 form; + _ + "oð" => mkN027 form; + _ + "al" => mkN008 form; + _ + "il" => mkN045 form; + _ + "ll" => mkN085 form; + _ + "ul" => mkN024 form; + _ + "yl" => mkN046 form; + _ + "øl" => mkN075 form; + _ + "el" => mkN092 form; + _ + "at" => mkN015 form; + _ + "kt" => mkN015 form; + _ + "tt" => mkN015 form; + _ + "ft" => mkN112 form; + _ + "ót" => mkN061 form; + _ + "lt" => mkN008 form; + _ + "nt" => mkN008 form; + _ + "øt" => mkN015 form; + _ + "mt" => mkN008 form; + _ + "yt" => mkN015 form; + _ + "vt" => mkN015 form; + _ + "ít" => mkN015 form; + _ + "rp" => mkN004 form; + _ + "lp" => mkN015 form; + _ + "pp" => mkN108 form; + _ + "rv" => mkN004 form; + _ + "lv" => mkN008 form; + _ + "yv" => mkN008 form; + _ + "av" => mkN008 form; + _ + "øv" => mkN018 form; + _ + "ív" => mkN019 form; + _ + "gv" => mkN041 form; + _ + "ev" => mkN046 form; + _ + "lf" => mkN008 form; + _ + "ím" => mkN008 form; + _ + "am" => mkN008 form; + _ + "mm" => mkN054 form; + _ + "po" => mkN008 form; + _ + "no" => mkN015 form; + _ + "sj" => mkN026 form; + _ + "ós" => mkN015 form; + _ + "ks" => mkN015 form; + _ + "as" => mkN103 form; + _ + "ás" => mkN100 form; + _ + "es" => mkN092 form; + _ + "øs" => mkN139 form; + _ + "i" => mkN001 form; + _ + "r" => mkN010 form; + _ + "n" => mkN015 form; + _ + "k" => mkN019 form; + _ + "g" => mkN006 form; + _ + "d" => mkN015 form; + _ + "ð" => mkN015 form; + _ + "l" => mkN019 form; + _ + "t" => mkN019 form; + _ + "p" => mkN019 form; + _ + "a" => mkN005 form; + _ + "y" => mkN008 form; + _ + "ó" => mkN007 form; + _ + "ý" => mkN008 form; + _ + "ø" => mkN008 form; + _ + "f" => mkN077 form; + _ + "m" => mkN019 form; + _ + "o" => mkN019 form; + _ + "j" => mkN105 form; + _ + "s" => mkN028 form; + _ + "á" => mkN015 form; + _ + "í" => mkN019 form; + _ + "u" => mkN019 form; + _ + "e" => mkN027 form; + _ + "æ" => mkN022 form; + _ + "b" => mkN096 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2N : Str -> Str -> N -- s;Indef;Sg;Nom s;Indef;Pl;Dat + = \form1, form2 -> case of { + <_ + "ski", _ + "kum"> => mkN001 form1; + <_ + "ugi", _ + "gum"> => mkN001 form1; + <_ + "ggi", _ + "gum"> => mkN001 form1; + <_ + "sur", _ + "num"> => mkN058 form1; + <_ + "ald", _ + "num"> => mkN008 form1; + <_ + "eyv", _ + "num"> => mkN008 form1; + <_ + "ist", _ + "tum"> => mkN015 form1; + <_ + "ður", _ + "ðum"> => mkN009 form1; + <_ + "ður", _ + "rum"> => mkN127 form1; + <_ + "rki", _ + "num"> => mkN021 form1; + <_ + "agg", _ + "num"> => mkN063 form1; + <_ + "ekk", _ + "num"> => mkN163 form1; + <_ + "eki", _ + "m"> => mkN001 form1; + <_ + "agn", _ + "m"> => mkN004 form1; + <_ + "pan", _ + "m"> => mkN015 form1; + <_ + "álp", _ + "m"> => mkN015 form1; + <_ + "ogn", _ + "m"> => mkN015 form1; + <_ + "sól", _ + "m"> => mkN015 form1; + <_ + "átt", _ + "i"> => mkN007 form1; + <_ + "ist", _ + "i"> => mkN007 form1; + <_ + "rki", _ + "i"> => mkN025 form1; + <_ + "øll", _ + "m"> => mkN018 form1; + <_ + "lið", _ + "m"> => mkN019 form1; + <_ + "iði", _ + "i"> => mkN025 form1; + <_ + "ði", _ + "num"> => mkN021 form1; + <_ + "ar", _ + "num"> => mkN008 form1; + <_ + "al", _ + "lum"> => mkN004 form1; + <_ + "lt", _ + "tum"> => mkN019 form1; + <_ + "sk", _ + "kum"> => mkN015 form1; + <_ + "ót", _ + "num"> => mkN008 form1; + <_ + "il", _ + "jum"> => mkN092 form1; + <_ + "ir", _ + "rum"> => mkN019 form1; + <_ + "gv", _ + "vum"> => mkN148 form1; + <_ + "gv", _ + "um"> => mkN102 form1; + <_ + "ði", _ + "m"> => mkN001 form1; + <_ + "rð", _ + "i"> => mkN007 form1; + <_ + "tt", _ + "i"> => mkN007 form1; + <_ + "ft", _ + "i"> => mkN007 form1; + <_ + "ld", _ + "i"> => mkN075 form1; + <_ + "a", _ + "aum"> => mkN019 form1; + <_ + "y", _ + "yum"> => mkN006 form1; + <_ + "ð", _ + "num"> => mkN049 form1; + <_ + "t", _ + "num"> => mkN008 form1; + <_ + "r", _ + "rum"> => mkN042 form1; + <_ + "r", _ + "jum"> => mkN150 form1; + <_ + "æ", _ + "æum"> => mkN027 form1; + <_ + "s", _ + "num"> => mkN026 form1; + <_ + "i", _ + "i"> => mkN025 form1; + <_ + "a", _ + "i"> => mkN012 form1; + <_ + "g", _ + "i"> => mkN007 form1; + <_ + "d", _ + "i"> => mkN007 form1; + <_ + "ð", _ + "i"> => mkN007 form1; + <_ + "k", _ + "i"> => mkN007 form1; + _ => regN form1 + } ; + + regA : Str -> A -- s;Masc;Sg;Nom + = \form -> case form of { + _ + "dur" => mkA001 form; + _ + "tur" => mkA003 form; + _ + "ður" => mkA010 form; + _ + "pur" => mkA004 form; + _ + "sur" => mkA008 form; + _ + "mur" => mkA016 form; + _ + "áur" => mkA017 form; + _ + "íur" => mkA017 form; + _ + "óur" => mkA017 form; + _ + "jur" => mkA033 form; + _ + "il" => mkA035 form; + _ + "in" => mkA009 form; + _ + "ur" => mkA007 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2A : Str -> Str -> A -- s;Masc;Sg;Nom s;Masc;Sg;Dat + = \form1, form2 -> case of { + _ => regA form1 + } ; + + regV : Str -> V -- Nonfinite + = \form -> case form of { + _ + "erja" => mkV011 form; + _ + "ala" => mkV046 form; + _ + "øla" => mkV009 form; + _ + "gla" => mkV009 form; + _ + "æla" => mkV009 form; + _ + "íla" => mkV020 form; + _ + "ula" => mkV088 form; + _ + "lda" => mkV056 form; + _ + "úka" => mkV044 form; + _ + "aka" => mkV054 form; + _ + "eka" => mkV028 form; + _ + "mba" => mkV009 form; + _ + "íða" => mkV014 form; + _ + "rða" => mkV108 form; + _ + "nna" => mkV039 form; + _ + "vna" => mkV009 form; + _ + "ina" => mkV009 form; + _ + "ína" => mkV014 form; + _ + "yna" => mkV009 form; + _ + "æna" => mkV020 form; + _ + "ýna" => mkV009 form; + _ + "øna" => mkV020 form; + _ + "una" => mkV021 form; + _ + "iga" => mkV086 form; + _ + "ega" => mkV075 form; + _ + "íga" => mkV014 form; + _ + "uga" => mkV029 form; + _ + "nga" => mkV047 form; + _ + "ðja" => mkV012 form; + _ + "kja" => mkV077 form; + _ + "lja" => mkV042 form; + _ + "mja" => mkV042 form; + _ + "lsa" => mkV020 form; + _ + "æsa" => mkV020 form; + _ + "ysa" => mkV020 form; + _ + "ýsa" => mkV020 form; + _ + "ósa" => mkV050 form; + _ + "esa" => mkV071 form; + _ + "sta" => mkV037 form; + _ + "tta" => mkV037 form; + _ + "áta" => mkV053 form; + _ + "íta" => mkV014 form; + _ + "óta" => mkV019 form; + _ + "yta" => mkV020 form; + _ + "ýta" => mkV020 form; + _ + "eta" => mkV023 form; + _ + "øta" => mkV020 form; + _ + "fta" => mkV037 form; + _ + "øra" => mkV009 form; + _ + "ýra" => mkV009 form; + _ + "yra" => mkV009 form; + _ + "æra" => mkV009 form; + _ + "íra" => mkV009 form; + _ + "gva" => mkV040 form; + _ + "ava" => mkV058 form; + _ + "ova" => mkV099 form; + _ + "eva" => mkV028 form; + _ + "íva" => mkV014 form; + _ + "yva" => mkV009 form; + _ + "øva" => mkV009 form; + _ + "rpa" => mkV018 form; + _ + "ópa" => mkV021 form; + _ + "epa" => mkV028 form; + _ + "úpa" => mkV044 form; + _ + "ema" => mkV018 form; + _ + "oma" => mkV062 form; + _ + "ða" => mkV006 form; + _ + "pa" => mkV020 form; + _ + "ma" => mkV009 form; + _ + "áa" => mkV034 form; + _ + "fa" => mkV106 form; + _ + "øa" => mkV043 form; + _ + "a" => mkV001 form; + _ + "t" => mkV005 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2V : Str -> Str -> V -- Nonfinite Indicative;Pres;('PSg', P2) + = \form1, form2 -> case of { + <_ + "gva", _ + "ørt"> => mkV055 form1; + <_ + "era", _ + "ert"> => mkV008 form1; + <_ + "ala", _ + "ar"> => mkV001 form1; + <_ + "ala", _ + "ir"> => mkV009 form1; + <_ + "úka", _ + "ar"> => mkV001 form1; + <_ + "aka", _ + "ar"> => mkV001 form1; + <_ + "nna", _ + "ar"> => mkV001 form1; + <_ + "íða", _ + "ar"> => mkV001 form1; + <_ + "íða", _ + "ir"> => mkV006 form1; + <_ + "rja", _ + "ar"> => mkV001 form1; + <_ + "sta", _ + "ar"> => mkV001 form1; + <_ + "sta", _ + "ur"> => mkV018 form1; + <_ + "gva", _ + "ar"> => mkV001 form1; + <_ + "rða", _ + "ar"> => mkV001 form1; + <_ + "tta", _ + "ar"> => mkV001 form1; + <_ + "tta", _ + "ur"> => mkV024 form1; + <_ + "ava", _ + "ar"> => mkV001 form1; + <_ + "iga", _ + "ar"> => mkV001 form1; + <_ + "iga", _ + "ir"> => mkV007 form1; + <_ + "ova", _ + "ar"> => mkV001 form1; + <_ + "lda", _ + "ar"> => mkV001 form1; + <_ + "lda", _ + "ir"> => mkV010 form1; + <_ + "áta", _ + "ar"> => mkV001 form1; + <_ + "vna", _ + "ar"> => mkV001 form1; + <_ + "eka", _ + "ar"> => mkV001 form1; + <_ + "mba", _ + "ar"> => mkV001 form1; + <_ + "eva", _ + "ar"> => mkV001 form1; + <_ + "ita", _ + "ir"> => mkV020 form1; + <_ + "ína", _ + "ir"> => mkV009 form1; + <_ + "íva", _ + "ir"> => mkV009 form1; + <_ + "yta", _ + "ur"> => mkV041 form1; + <_ + "ysa", _ + "ur"> => mkV041 form1; + <_ + "eta", _ + "ir"> => mkV020 form1; + <_ + "kja", _ + "ur"> => mkV100 form1; + <_ + "nna", _ + "t"> => mkV076 form1; + <_ + "rja", _ + "t"> => mkV093 form1; + <_ + "gva", _ + "t"> => mkV022 form1; + <_ + "ega", _ + "r"> => mkV001 form1; + <_ + "ita", _ + "t"> => mkV109 form1; + <_ + "lja", _ + "t"> => mkV112 form1; + <_ + "ða", _ + "ar"> => mkV001 form1; + <_ + "ða", _ + "ur"> => mkV066 form1; + <_ + "pa", _ + "ar"> => mkV001 form1; + <_ + "ma", _ + "ar"> => mkV001 form1; + <_ + "fa", _ + "ar"> => mkV001 form1; + <_ + "áa", _ + "r"> => mkV001 form1; + <_ + "a", _ + "ært"> => mkV084 form1; + <_ + "a", _ + "t"> => mkV025 form1; + _ => regV form1 + } ; + + mkN = overload { + mkN : Str -> N = regN; -- s;Indef;Sg;Nom + mkN : Str -> Str -> N = reg2N -- s;Indef;Sg;Nom s;Indef;Pl;Dat + } ; + + mkN2 = overload { + mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ; + mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ; + } ; + + mkN3 = overload { + mkN3 : N -> N3 = \n -> lin N3 (n ** {c2 = noPrep; c3 = noPrep}) ; + mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 (n ** {c2 = p1; c3 = p2}) ; + } ; + + mkA = overload { + mkA : Str -> A = regA; -- s;Masc;Sg;Nom + mkA : Str -> Str -> A = reg2A -- s;Masc;Sg;Nom s;Masc;Sg;Dat + } ; + + mkA2 = overload { + mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = noPrep}) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {c2 = p}) ; + } ; + + mkV = overload { + mkV : Str -> V = regV; -- Nonfinite + mkV : Str -> Str -> V = reg2V ; -- Nonfinite Indicative;Pres;('PSg', P2) + mkV : V -> Str -> V -- particle verb + = \v,p -> v ** {particle = 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 ; + + mkV2 = overload { + mkV2 : V -> V2 = \v -> lin V2 (v ** {c2 = noPrep}) ; + mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p}) ; + } ; + + mkV3 = overload { + mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2A = overload { + mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2S = overload { + mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2S : V -> Prep -> Prep -> V2S = \v,p1,p2 -> lin V2S (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2Q = overload { + mkV2Q : V -> V2Q = \v -> lin V2Q (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2Q : V -> Prep -> Prep -> V2Q = \v,p1,p2 -> lin V2Q (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2V = overload { + mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (v ** {c2 = p1; c3 = p2}) ; + } ; + + 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=""} ; + mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + + mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Acc} ; + + mkIAdv : Str -> IAdv = \s -> lin IAdv {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} ; + mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; + mkQuant : Str -> Quant = \s -> lin Quant {s=s} ; + mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; + mkDet : Str -> Det = \s -> lin Det {s=s} ; + mkCard : Str -> Card = \s -> lin Card {s=s} ; + mkConj : Str -> Conj = \s -> lin Conj {s=s} ; + mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; + mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; + + mkLN : Str -> LN = \s -> lin LN {s=s} ; + mkGN : Str -> GN = \s -> lin GN {s=s} ; + mkSN : Str -> SN = \s -> lin SN {s=s} ; + mkPN : Str -> PN = \s -> lin PN {s=s} ; + +} diff --git a/src/faroese/PhraseFao.gf b/src/faroese/PhraseFao.gf new file mode 100644 index 00000000..23bc77c2 --- /dev/null +++ b/src/faroese/PhraseFao.gf @@ -0,0 +1,11 @@ +concrete PhraseFao of Phrase = CatFao ** { +lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttInterj i = i ; + + NoPConj = {s = []} ; + + NoVoc = {s = []} ; +} diff --git a/src/faroese/ResFao.gf b/src/faroese/ResFao.gf new file mode 100644 index 00000000..aca5c9b2 --- /dev/null +++ b/src/faroese/ResFao.gf @@ -0,0 +1,132 @@ +resource ResFao = { + +param Species = Indef | Def ; +param Number = Sg | Pl ; +param Case = Nom | Acc | Dat | Gen ; +param Gender = Neutr | Fem | Masc ; +oper Noun = {s: Species => Number => Case => Str} ; -- 2135 +oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Noun = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 -> + { s = table { + Indef => table { + Sg => table { + Nom => f1 ; + Acc => f2 ; + Dat => f3 ; + Gen => f4 + } ; + Pl => table { + Nom => f5 ; + Acc => f6 ; + Dat => f7 ; + Gen => f8 + } + } ; + Def => table { + Sg => table { + Nom => f9 ; + Acc => f10 ; + Dat => f11 ; + Gen => f12 + } ; + Pl => table { + Nom => f13 ; + Acc => f14 ; + Dat => f15 ; + Gen => f16 + } + } + } + } ; + + +oper Adj = {s: Gender => Number => Case => Str} ; -- 346 +oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24 -> + { s = table { + Masc => table { + Sg => table { + Nom => f1 ; + Acc => f2 ; + Dat => f3 ; + Gen => f4 + } ; + Pl => table { + Nom => f5 ; + Acc => f6 ; + Dat => f7 ; + Gen => f8 + } + } ; + Fem => table { + Sg => table { + Nom => f9 ; + Acc => f10 ; + Dat => f11 ; + Gen => f12 + } ; + Pl => table { + Nom => f13 ; + Acc => f14 ; + Dat => f15 ; + Gen => f16 + } + } ; + Neutr => table { + Sg => table { + Nom => f17 ; + Acc => f18 ; + Dat => f19 ; + Gen => f20 + } ; + Pl => table { + Nom => f21 ; + Acc => f22 ; + Dat => f23 ; + Gen => f24 + } + } + } + } ; + +param Tense = Past | Pres ; +param PersNum = PSg Person | PPl ; +param Person = P1 | P3 | P2 ; +oper Verb = {Converb: Str; Imperative_Jussive: Number => Str; Indicative: Tense => PersNum => Str; Nonfinite: Str; Participle: Tense => Str ; particle : Str} ; -- 596 +oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14 -> + { Converb = f1 ; + Imperative_Jussive = table { + Sg => f2 ; + Pl => f3 + } ; + Indicative = table { + Pres => table { + PSg P1 => f4 ; + PSg P2 => f5 ; + PSg P3 => f6 ; + PPl => f7 + } ; + Past => table { + PSg P1 => f8 ; + PSg P2 => f9 ; + PSg P3 => f10 ; + PPl => f11 + } + } ; + Nonfinite = f12 ; + Participle = table { + Pres => f13 ; + Past => f14 + } ; + particle = [] + } ; + + +oper Compl = {s : Str; c : Case} ; +oper noPrep : Compl = {s=""; c=Acc} ; + +oper CommonNoun = Noun ; +oper AdjPhrase = Adj ; + +} diff --git a/src/finnish/DocumentationFinFunctor.gf b/src/finnish/DocumentationFinFunctor.gf index b81fd9a3..3f09fbd1 100644 --- a/src/finnish/DocumentationFinFunctor.gf +++ b/src/finnish/DocumentationFinFunctor.gf @@ -161,14 +161,14 @@ oper verbExample : CatFin.Cl -> Str = \cl -> (S.mkUtt cl).s ; {- -} --# notpresent - inflVerb : CatFin.V -> Str = \verb0 -> + inflVerb : SVerb1 -> Str = \verb0 -> let verb = sverb2verbSep verb0 ; vfin : ResFin.VForm -> Str = \f -> verb.s ! f ; nounNounHeading : Parameter -> Parameter -> Str = \n1,n2 -> - (S.mkUtt (G.PossNP (S.mkCN n1) (S.mkNP (snoun2nounSep n2)))).s ; + (S.mkUtt (G.PossNP (S.mkCN n1) (S.mkNP (lin N (snoun2nounSep n2))))).s ; in heading3 (nounNounHeading present_Parameter indicative_Parameter) ++ frameTable ( diff --git a/src/finnish/ExtendFin.gf b/src/finnish/ExtendFin.gf index 2c3b1915..c64d21b9 100644 --- a/src/finnish/ExtendFin.gf +++ b/src/finnish/ExtendFin.gf @@ -258,7 +258,7 @@ lin PresPartAP vp = { hasPrefix = False } ; lin PastPartAP vps = { - s = \\_,nf => preCompVP (PastPartAct (AN nf)) ; + s = \\_,nf => preCompVP (lin VP vps) (PastPartAct (AN nf)) ; p = vps.c2.s.p1 ; hasPrefix = False } ; diff --git a/src/finnish/ParadigmsFin.gf b/src/finnish/ParadigmsFin.gf index c44570a6..d44d9de2 100644 --- a/src/finnish/ParadigmsFin.gf +++ b/src/finnish/ParadigmsFin.gf @@ -406,10 +406,10 @@ mkVS = overload { mkQuant = overload { mkQuant : N -> Quant = - \noun -> heavyQuant {s1 = \\n,c => (snoun2nounBind noun).s ! NCase n c ; s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False} ; + \noun -> lin Quant (heavyQuant {s1 = \\n,c => (snoun2nounBind noun).s ! NCase n c ; s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False}) ; mkQuant : N -> N -> Quant = - \sg,pl -> heavyQuant {s1 = table {Sg => \\c => (snoun2nounBind pl).s ! NCase Sg c ; Pl => \\c => (snoun2nounBind pl).s ! NCase Pl c} ; - s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False} ; + \sg,pl -> lin Quant (heavyQuant {s1 = table {Sg => \\c => (snoun2nounBind pl).s ! NCase Sg c ; Pl => \\c => (snoun2nounBind pl).s ! NCase Pl c} ; + s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False}) ; } ; mkInterj : Str -> Interj diff --git a/src/finnish/StemFin.gf b/src/finnish/StemFin.gf index 5237e55b..5e02a9ad 100644 --- a/src/finnish/StemFin.gf +++ b/src/finnish/StemFin.gf @@ -62,7 +62,7 @@ oper -- Adjectives --- could be made more compact by pressing comparison forms down to a few oper - SAForm : Type = AForm ; + SAForm : PType = AForm ; oper SAdj = {s : SAForm => Str ; h : Harmony} ; @@ -112,7 +112,7 @@ oper -- verbs oper - SVForm : Type = VForm ; + SVForm : PType = VForm ; SVerb : Type = {s : SVForm => Str ; h : Harmony} ; ollaSVerbForms : SVForm => Str = verbOlla.s ; diff --git a/src/finnish/StructuralFin.gf b/src/finnish/StructuralFin.gf index 6b2ad0e7..c1829583 100644 --- a/src/finnish/StructuralFin.gf +++ b/src/finnish/StructuralFin.gf @@ -89,13 +89,13 @@ concrete StructuralFin of Structural = CatFin ** } ; somePl_Det = heavyDet { s1 = jokuPron ! Pl ; - s2 = \\_ => [] ; isNum,isPoss = False ; isNeg = False ; isDef = True ; + s2 = \\_ => [] ; isNum,isPoss = False ; isDef = True ; n = Pl ; isNeg = False } ; something_NP = { s = \\c => jokinPron ! Sg ! npform2case Sg c ; a = agrP3 Sg ; - isPron = False ; isNeg = False ; isNeg = False + isPron = False ; isNeg = False } ; somewhere_Adv = ssp "ADV" "jossain" ; that_Quant = heavyQuant { diff --git a/src/french/ExtendFre.gf b/src/french/ExtendFre.gf index 6ffaeaa8..57ec59ac 100644 --- a/src/french/ExtendFre.gf +++ b/src/french/ExtendFre.gf @@ -98,10 +98,9 @@ lin ApposNP np1 np2 = np1 ** { -- guessed by KA lin CompoundN a b = lin N { s = \\n => b.s ! n ++ case b.relType of { - NRelPrep p => prepCase (CPrep p) ; -- tasa de suicidio - NRelNoPrep => [] -- connessione internet = internet connection - } ++ - a.s ! Sg ; + NRelPrep p => prepCase (CPrep p) ++ a.s ! Sg ; -- tasa de suicidio + NRelNoPrep => a.s ! n -- connessione internet = internet connection + } ; g = b.g ; relType = b.relType } ; diff --git a/src/french/NumeralFre.gf b/src/french/NumeralFre.gf index 6ad455d3..d086af23 100644 --- a/src/french/NumeralFre.gf +++ b/src/french/NumeralFre.gf @@ -192,12 +192,6 @@ oper hyphen = BIND ++ "-" ++ BIND ; _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + "ème") ; diff --git a/src/french/ParadigmsFre.gf b/src/french/ParadigmsFre.gf index 8310ac1d..930b8c49 100644 --- a/src/french/ParadigmsFre.gf +++ b/src/french/ParadigmsFre.gf @@ -40,14 +40,14 @@ resource ParadigmsFre = -- To abstract over gender names, we define the following identifiers. oper - Gender : Type ; + Gender : PType ; masculine : Gender ; feminine : Gender ; -- To abstract over number names, we define the following. - Number : Type ; --% + Number : PType ; --% singular : Number ; --% plural : Number ; --% @@ -200,7 +200,7 @@ oper mkA : (banal,banale,banaux,banalement : Str) -> A ; -- almost worst-case adjective -- This is the worst-case paradigm for the positive forms, used for "vieux/vieil". - mkA : (vieux,vieil,vieille,vieuxs,vieuxment : Str) -> A ; -- worst-case adjetive + mkA : (vieux,vieil,vieille,vieux,vieillement : Str) -> A ; -- worst-case adjetive -- If comparison forms are irregular (i.e. not formed by "plus", e.g. -- "bon-meilleur"), the positive and comparative can be given as separate @@ -468,6 +468,17 @@ oper prefixA = prefA ; + invarA : (sud : Str) -> A = \sud -> compADeg { + s = table { + AF _ _ => sud; + AAttrMasc => sud; + AA => case sud of { + _ + "ée" => init sud + "ment" ; + _ => sud + "ment" + } + } ; + } ; + mkAdv x = ss x ** {lock_Adv = <>} ; mkAdV x = ss x ** {lock_AdV = <>} ; mkAdA x = ss x ** {lock_AdA = <>} ; diff --git a/src/gaelic/AdjectiveGla.gf b/src/gaelic/AdjectiveGla.gf new file mode 100644 index 00000000..5a2de9aa --- /dev/null +++ b/src/gaelic/AdjectiveGla.gf @@ -0,0 +1,67 @@ +concrete AdjectiveGla of Adjective = CatGla ** open ResGla, Prelude in { + + flags optimize=all_subs ; + + lin + + -- : AP -> Adv -> AP ; -- warm by nature + AdvAP ap adv = ap ** { + s = \\af => ap.s ! af ++ adv.s ; + voc = \\g => ap.voc ! g ++ adv.s + } ; + + -- : A -> AP ; + PositA a = a ; + + -- : A -> NP -> AP ; + --ComparA a np = a ** { + -- compar = np.s + -- } ; + + -- : A2 -> NP -> AP ; -- married to her + -- ComplA2 a2 np = a2 ** { } ; + + -- : A2 -> AP ; -- married to itself + -- ReflA2 a2 = a2 ** { } ; + + -- : A2 -> AP ; -- married + -- UseA2 = PositA ; + + -- : A -> AP ; -- warmer + -- UseComparA a = a ** { + -- s = \\af => "???" ++ a.s ! af ; + -- compar = [] + -- } ; + + + -- : CAdv -> AP -> NP -> AP ; -- as cool as John + -- CAdvAP adv ap np = ap ** { } ; + +-- The superlative use is covered in $Ord$. + + -- : Ord -> AP ; -- warmest + -- AdjOrd ord = ord ** { + -- compar = [] + -- } ; + -- AdjOrd : Ord -> AP = + -- AdjOrd ord = ord ; + +-- Sentence and question complements defined for all adjectival +-- phrases, although the semantics is only clear for some adjectives. + + -- : AP -> SC -> AP ; -- good that she is here + -- SentAP ap sc = ap ** { + -- s = \\af => ap.s ! af ++ sc.s + -- } ; + +-- An adjectival phrase can be modified by an *adadjective*, such as "very". + + -- : AdA -> AP -> AP ; + -- AdAP ada ap = ap ** { } ; + + +-- It can also be postmodified by an adverb, typically a prepositional phrase. + + + +} diff --git a/src/gaelic/AdverbGla.gf b/src/gaelic/AdverbGla.gf new file mode 100644 index 00000000..9165f7de --- /dev/null +++ b/src/gaelic/AdverbGla.gf @@ -0,0 +1,59 @@ +concrete AdverbGla of Adverb = CatGla ** open ResGla, ParadigmsGla, Prelude in { +lin +{- + + -- : A -> Adv ; + PositAdvAdj adj = + + -- : CAdv -> A -> NP -> Adv ; -- more warmly than John + ComparAdvAdj cadv a np = + + -- : CAdv -> A -> S -> Adv ; -- more warmly than he runs + ComparAdvAdjS cadv a s = +-} + -- : Prep -> NP -> Adv ; + PrepNP prep np = { + s = prepAndArt ++ noun + } where { + defaultCase : Case = prep.c2 ! getDefi np.a ; + complCase : Case = case of { + + => Dat Lenited ; -- force lenition if possessive triggers it + + => 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 { + NotPron (DDef _ Indefinite) => prepStr ++ artStr ; + _ => prepStr } ; + noun : Str = case of { + <_, NotPron _> | + => np.s ! complCase ; + _ => np.empty -- empty string to avoid metavariables + } + }; +{- +-- Adverbs can be modified by 'adadjectives', just like adjectives. + + -- : AdA -> Adv -> Adv ; -- very quickly + AdAdv ada adv = adv ** + +-- Like adverbs, adadjectives can be produced by adjectives. + + -- : A -> AdA ; -- extremely + PositAdAAdj a = + + -- Subordinate clauses can function as adverbs. + + -- : Subj -> S -> Adv ; + SubjS subj s = {s = subj.s ++ s.s} ; + +-- Comparison adverbs also work as numeral adverbs. + + -- : CAdv -> AdN ; -- less (than five) + AdnCAdv cadv = ; + +-} + +} diff --git a/src/gaelic/AllGla.gf b/src/gaelic/AllGla.gf new file mode 100644 index 00000000..e9a81d60 --- /dev/null +++ b/src/gaelic/AllGla.gf @@ -0,0 +1,6 @@ +--# -path=.:../abstract:../common:../prelude + +concrete AllGla of AllGlaAbs = + LangGla -- , + -- ExtendGla + ; diff --git a/src/gaelic/AllGlaAbs.gf b/src/gaelic/AllGlaAbs.gf new file mode 100644 index 00000000..0abea7cd --- /dev/null +++ b/src/gaelic/AllGlaAbs.gf @@ -0,0 +1,3 @@ +abstract AllGlaAbs = + Lang + ** {} \ No newline at end of file diff --git a/src/gaelic/CatGla.gf b/src/gaelic/CatGla.gf new file mode 100644 index 00000000..3b9fc8bd --- /dev/null +++ b/src/gaelic/CatGla.gf @@ -0,0 +1,122 @@ +concrete CatGla of Cat = CommonX ** open ResGla, Coordination, Prelude in { + + flags optimize=all_subs ; + + lincat + +--2 Sentences and clauses +-- Constructed in SentenceGla, and also in IdiomGla + S = SS ; + QS = SS ; + RS = SS ; + -- relative sentence. Tense and polarity fixed, + -- but agreement may depend on the CN/NP it modifies. + + Cl = ResGla.LinCl ; + ClSlash = SS ; + SSlash = SS ; -- sentence missing NP; e.g. "she has looked at" + Imp = SS ; -- imperative e.g. "look at this" + +--2 Questions and interrogatives + +-- Constructed in QuestionGla. + QCl = SS ; + IComp = SS ; -- interrogative complement of copula e.g. "where" + IDet = SS ; -- interrogative determiner e.g. "how many" + IQuant = SS ; -- interrogative quantifier e.g. "which" + IP = SS ; -- interrogative pronoun e.g. "who" + +--2 Subord clauses and pronouns + + RCl = SS ; + RP = SS ; + +--2 Verb phrases + +-- Constructed in VerbGla. + VP = ResGla.LinVP ; + VPSlash = SS ; + Comp = SS ; + +--2 Adjectival phrases + +-- Constructed in AdjectiveGla. + AP = LinAP ; + +--2 Nouns and noun phrases + +-- Constructed in NounGla. +-- Many atomic noun phrases e.g. "everybody" +-- are constructed in StructuralGla. + + CN = ResGla.LinN ; + NP = ResGla.LinNP ; + Pron = LinPron ; + Det = ResGla.LinDet ; -- s : Str , n : Number + Predet = SS ; + Quant = ResGla.LinQuant ; -- s : Number => Str + Num = ResGla.LinNum ; + Card = ResGla.LinNum ; + ACard = SS ; + Ord = SS ; + DAP = SS ; + + +--2 Numerals + +-- Constructed in NumeralGla. + + Numeral = ResGla.LinNumeral ; + Digits = ResGla.LinNumeral ; + +--2 Structural words + +-- Constructed in StructuralGla. + Conj = Coordination.ConjunctionDistr ** { + n : Number -- The number of the NP that results from + -- coordinating a list of NPs with that Conj. + } ; -- "[Ann and Bob] are children" → and_Conj.n = Pl + Subj = SS ; + Prep = ResGla.LinPrep ; + + + +--2 Words of open classes + +-- These are constructed in LexiconGla and in +-- additional lexicon modules. + + -- TODO: eventually different lincats + VS, -- sentence-complement verb e.g. "claim" + VQ, -- question-complement verb e.g. "wonder" + VA, -- adjective-complement verb e.g. "look" + V = ResGla.LinV ; + + VV -- verb-phrase-complement verb e.g. "want" + = 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 = LinV ** {c2 : LinPrep} ; + V3 = LinV ** {c2,c3 : LinPrep} ; + + A = LinA ; + A2 = LinA ** {c2 : LinPrep} ; + + N = ResGla.LinN ; + N2 = ResGla.LinN ; + N3 = ResGla.LinN ; + PN = SS ; + + -- From the Names module, not in the official API as of 2023-08 + GN = SS ; -- Given name, e.g. "George" + SN = SS ; -- Second name, e.g. "Washington" + LN = SS ; -- Location name, e.g. "Sweden" + + linref + NP = linNP ; + Cl = linCl ; + +} diff --git a/src/gaelic/ConjunctionGla.gf b/src/gaelic/ConjunctionGla.gf new file mode 100644 index 00000000..7191a485 --- /dev/null +++ b/src/gaelic/ConjunctionGla.gf @@ -0,0 +1,147 @@ +concrete ConjunctionGla of Conjunction = + CatGla ** open ResGla, Coordination, Prelude in { + + flags optimize=all_subs ; + + {- Conjunction for category X needs four things: + lincat [X] + lin BaseX + lin ConsX + lin ConjX + + For example, if X is defined as + + lincat X = {s : Number => Str ; g : Gender} ; + + then [X] will split its s field into two, and retain its other fields as is: + + lincat [X] = {s1,s2 : Number => Str ; g : Gender} ; + + Let us look at a simple case: Adv is of type {s : Str} + Then [Adv] is {s1,s2 : Str}. + BaseAdv, ConsAdv and ConjAdv can all use functions defined in prelude/Coordination: + + BaseAdv = twoSS ; + ConsAdv = consrSS comma ; + ConjAdv = conjunctSS ; + + --} + +----------------------------------------------------------------------------- +-- Adverb and other simple {s : Str} types. +lincat + [Adv],[AdV],[IAdv] = {s1,s2 : Str} ; + +lin + BaseAdv, BaseAdV, BaseIAdv = twoSS ; + ConsAdv, ConsAdV, ConsIAdv = consrSS comma ; + ConjAdv, ConjAdV, ConjIAdv = conjunctDistrSS ; + +{- + +----------------------------------------------------------------------------- +-- S is sometimes already {s : Str}, sometimes open for mood or word order. +-- Simply take the lincat of S, and split the s field into s1 and s2. +-- Then make sure that all of the other fields are retained. + +lincat + [S] = {s1, s2 : …} ; + +lin + -- : S -> S -> ListS ; -- John walks, Mary runs + BaseS x y = + + -- : S -> ListS -> ListS ; -- John walks, Mary runs, Bill swims + ConsS x xs = + + -- : Conj -> ListS -> S ; -- he walks and she runs + ConjS conj xs = + +----------------------------------------------------------------------------- +-- RS is variable on … and has inherent … +-- RS can modify CNs, which are open for …, and have inherent … + +lincat + [RS] = {s1,s2 : … => Str} ; + +lin + + -- : RS -> RS -> ListRS ; -- who walks, whom I know + BaseRS x y = + + -- : RS -> ListRS -> ListRS ; -- who wals, whom I know, who is here + ConsRS x xs = + + -- : Conj -> ListRS -> RS ; -- who walks and whose mother runs + ConjRS conj xs = + + +----------------------------------------------------------------------------- +-- NP is variable on … and has inherent … + +lincat + [NP] = {s1, s2 : …} ; + +lin + -- : NP -> NP -> ListNP ; -- John, Mary + BaseNP x y = + + -- : NP -> ListNP -> ListNP ; -- John, Mary, Bill + ConsNP x xs = + + -- : Conj -> ListNP -> NP ; -- she or we + ConjNP conj xs = + +----------------------------------------------------------------------------- +-- AP is variable on … and has an inherent … + +lincat + [AP] = {s1, s2 : …} ; + +lin + -- : AP -> AP -> ListAP ; -- red, white + BaseAP x y = + + -- : AP -> ListAP -> ListAP ; -- red, white, blue + ConsAP x xs = + + -- : Conj -> ListAP -> AP ; -- cold and warm + ConjAP conj xs = + +----------------------------------------------------------------------------- +-- CN is variable on … +-- CN conjunction is not in the API, so this can be lower prio + +lincat + [CN] = {s1, s2 : …} ; + +lin + -- : CN -> CN -> ListCN ; -- man, woman + BaseCN x y = + + -- : CN -> ListCN -> ListCN ; -- man, woman, child + ConsCN x xs = + + -- : Conj -> ListCN -> CN ; -- man and woman + ConjCN conj xs = + +----------------------------------------------------------------------------- +-- Det and DAP +-- Note that there is no [Det], the way to coordinate Dets is to make them +-- into DAP first, using Noun.DetDAP : Det -> DAP ; +-- DAP ("three small") isn't used in any API functions, so lower prio. + +lincat + [DAP] = {s1, s2 : …} ; + +lin + -- : DAP -> DAP -> ListDAP ; + BaseDAP x y = + + -- : DAP -> ListDAP -> ListDAP ; + ConsDAP xs x = + + -- : Conj -> ListDAP -> Det ; -- his or her + ConjDet conj xs = +-} +} diff --git a/src/gaelic/ConstructionGla.gf b/src/gaelic/ConstructionGla.gf new file mode 100644 index 00000000..abf40ebf --- /dev/null +++ b/src/gaelic/ConstructionGla.gf @@ -0,0 +1,117 @@ +concrete ConstructionGla of Construction = CatGla ** open ParadigmsGla in { + +lincat + Timeunit = N ; + Weekday = N ; + Monthday = NP ; + Month = N ; + Year = NP ; +{- +lin + + timeunitAdv n time = + let n_card : Card = n ; + n_hours_NP : NP = mkNP n_card time ; + in SyntaxGla.mkAdv for_Prep n_hours_NP | mkAdv (n_hours_NP.s ! R.npNom) ; + + weekdayPunctualAdv w = ; -- on Sunday + weekdayHabitualAdv w = ; -- on Sundays + weekdayNextAdv w = -- next Sunday + weekdayLastAdv w = -- last Sunday + + monthAdv m = mkAdv in_Prep (mkNP m) ; + yearAdv y = mkAdv in_Prep y ; + dayMonthAdv d m = ; -- on 17 Gla + monthYearAdv m y = ; -- in Gla 2012 + dayMonthYearAdv d m y = ; -- on 17 Gla 2013 + + intYear = symb ; + intMonthday = symb ; + +lincat Language = N ; + +lin InLanguage l = mkAdv ???_Prep (mkNP l) ; + +lin + weekdayN w = w ; + monthN m = m ; + + weekdayPN w = mkPN w ; + monthPN m = mkPN m ; + + languageCN l = mkCN l ; + languageNP l = mkNP l ; + + +oper mkLanguage : Str -> N = \s -> mkN s ; + +---------------------------------------------- +---- lexicon of special names + +lin second_Timeunit = mkN "second" ; +lin minute_Timeunit = mkN "minute" ; +lin hour_Timeunit = mkN "hour" ; +lin day_Timeunit = mkN "day" ; +lin week_Timeunit = mkN "week" ; +lin month_Timeunit = mkN "month" ; +lin year_Timeunit = mkN "year" ; + +lin monday_Weekday = mkN "Monday" ; +lin tuesday_Weekday = mkN "Tuesday" ; +lin wednesday_Weekday = mkN "Wednesday" ; +lin thursday_Weekday = mkN "Thursday" ; +lin friday_Weekday = mkN "Friday" ; +lin saturday_Weekday = mkN "Saturday" ; +lin sunday_Weekday = mkN "Sunday" ; + +lin january_Month = mkN "January" ; +lin february_Month = mkN "February" ; +lin march_Month = mkN "March" ; +lin april_Month = mkN "April" ; +lin may_Month = mkN "May" ; +lin june_Month = mkN "June" ; +lin july_Month = mkN "July" ; +lin august_Month = mkN "August" ; +lin september_Month = mkN "September" ; +lin october_Month = mkN "October" ; +lin november_Month = mkN "November" ; +lin december_Month = mkN "December" ; + +lin afrikaans_Language = mkLanguage "Afrikaans" ; +lin amharic_Language = mkLanguage "Amharic" ; +lin arabic_Language = mkLanguage "Arabic" ; +lin bulgarian_Language = mkLanguage "Bulgarian" ; +lin catalan_Language = mkLanguage "Catalan" ; +lin chinese_Language = mkLanguage "Chinese" ; +lin danish_Language = mkLanguage "Danish" ; +lin dutch_Language = mkLanguage "Dutch" ; +lin english_Language = mkLanguage "Euslish" ; +lin estonian_Language = mkLanguage "Estonian" ; +lin finnish_Language = mkLanguage "Finnish" ; +lin french_Language = mkLanguage "French" ; +lin german_Language = mkLanguage "German" ; +lin greek_Language = mkLanguage "Greek" ; +lin hebrew_Language = mkLanguage "Hebrew" ; +lin hindi_Language = mkLanguage "Hindi" ; +lin japanese_Language = mkLanguage "Japanese" ; +lin italian_Language = mkLanguage "Italian" ; +lin latin_Language = mkLanguage "Latin" ; +lin latvian_Language = mkLanguage "Latvian" ; +lin maltese_Language = mkLanguage "Maltese" ; +lin nepali_Language = mkLanguage "Nepali" ; +lin norwegian_Language = mkLanguage "Norwegian" ; +lin persian_Language = mkLanguage "Persian" ; +lin polish_Language = mkLanguage "Polish" ; +lin punjabi_Language = mkLanguage "Punjabi" ; +lin romanian_Language = mkLanguage "Romanian" ; +lin russian_Language = mkLanguage "Russian" ; +lin sindhi_Language = mkLanguage "Sindhi" ; +lin spanish_Language = mkLanguage "Spanish" ; +lin swahili_Language = mkLanguage "Swahili" ; +lin swedish_Language = mkLanguage "Swedish" ; +lin thai_Language = mkLanguage "Thai" ; +lin turkish_Language = mkLanguage "Turkish" ; +lin urdu_Language = mkLanguage "Urdu" ; + +-} +} diff --git a/src/gaelic/DocumentationGla.gf b/src/gaelic/DocumentationGla.gf new file mode 100644 index 00000000..5e83707e --- /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 new file mode 100644 index 00000000..78f6ceaf --- /dev/null +++ b/src/gaelic/ExtendGla.gf @@ -0,0 +1,36 @@ +--# -path=.:../common:../abstract + +concrete ExtendGla of Extend = CatGla + ** ExtendFunctor - [ + VPS -- finite VP's with tense and polarity + , ListVPS + , VPI + , ListVPI -- infinitive VP's (TODO: with anteriority and polarity) + , MkVPS + , PredVPS + + -- excluded because RGL funs needed for them not implemented yet + , SlashBareV2S + , PredAPVP + , ComplBareVS + , AdvIsNP, AdvIsNPAP + , CompBareCN + , CompIQuant + , ComplSlashPartLast + , ComplDirectVQ + , ComplDirectVS + , DetNPFem, DetNPMasc + , ExistCN, ExistMassCN, ExistPluralCN, ExistsNP + , ExistIPQS, ExistNPQS, ExistS + , PredIAdvVP + , PrepCN + , ReflPossPron + , UttVP, UttVPShort, UttAccNP, UttDatNP, UttAccIP, UttDatIP + , EmptyRelSlash, StrandQuestSlash, StrandRelSlash + , SubjRelNP + , 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/GrammarGla.gf b/src/gaelic/GrammarGla.gf new file mode 100644 index 00000000..1688ad9a --- /dev/null +++ b/src/gaelic/GrammarGla.gf @@ -0,0 +1,17 @@ +concrete GrammarGla of Grammar = + NounGla + , VerbGla + , AdjectiveGla + , AdverbGla + , NumeralGla + , SentenceGla + , QuestionGla + , RelativeGla + , ConjunctionGla + , PhraseGla + , TextX + , StructuralGla + , IdiomGla + , TenseX + , NamesGla -- Not part of original Grammar, here to trigger compilation + ; diff --git a/src/gaelic/IdiomGla.gf b/src/gaelic/IdiomGla.gf new file mode 100644 index 00000000..ab6a3acc --- /dev/null +++ b/src/gaelic/IdiomGla.gf @@ -0,0 +1,56 @@ + +--1 Idiom: Idiomatic Expressions + +concrete IdiomGla of Idiom = CatGla ** open Prelude, ResGla, VerbGla, QuestionGla, NounGla, StructuralGla in { + +-- This module defines constructions that are formed in fixed ways, +-- often different even in closely related languages. + +{- + lin + + + -- ImpersCl : VP -> Cl ; -- it is hot + ImpersCl vp = { + } ; + + -- : NP -> Cl ; -- there is a house + ExistNP np = + + -- ExistIP : IP -> QCl ; -- which houses are there + ExistIP ip = + + -- GenericCl : VP -> Cl ; -- one sleeps + GenericCl vp = + + CleftNP : NP -> RS -> Cl ; -- it is I who did it + CleftAdv : Adv -> S -> Cl ; -- it is here she slept + + -- : NP -> Cl ; -- there is a house + ExistNP np = + + ExistIP : IP -> QCl ; -- which houses are there + +-- 7/12/2012 generalizations of these + + ExistNPAdv : NP -> Adv -> Cl ; -- there is a house in Paris + ExistIPAdv : IP -> Adv -> QCl ; -- which houses are there in Paris + + -- : VP -> VP ; + ProgrVP vp = vp ** { + } ; + + + -- : VP -> Utt ; -- let's go + ImpPl1 vp = { } ; + + ImpP3 : NP -> VP -> Utt ; -- let John walk + +-- 3/12/2013 non-reflexive uses of "self" + + SelfAdvVP : VP -> VP ; -- is at home himself + SelfAdVVP : VP -> VP ; -- is himself at home + SelfNP : NP -> NP ; -- the president himself (is at home) +-} + +} diff --git a/src/gaelic/LangGla.gf b/src/gaelic/LangGla.gf new file mode 100644 index 00000000..e8acf49b --- /dev/null +++ b/src/gaelic/LangGla.gf @@ -0,0 +1,6 @@ +--# -path=.:../abstract:../common:../prelude:../api +concrete LangGla of Lang = + GrammarGla, + LexiconGla + ,DocumentationGla --# notpresent + ; diff --git a/src/gaelic/LexiconGla.gf b/src/gaelic/LexiconGla.gf new file mode 100644 index 00000000..0c85ac91 --- /dev/null +++ b/src/gaelic/LexiconGla.gf @@ -0,0 +1,420 @@ +concrete LexiconGla of Lexicon = CatGla ** + open ParadigmsGla, ResGla in { + +---- +-- A +{- +lin add_V3 = mkV3 (mkV "") ; +lin airplane_N = mkN "" ; +lin alas_Interj = mkInterj "" ; +lin already_Adv = mkA "" ; +lin animal_N = mkN "" ; +lin answer_V2S = mkV2S (mkV "") ; +lin apartment_N = mkN "" ; +lin apple_N = mkN "" ; +lin art_N = mkN "" ; +lin ashes_N = mkN "" ; +lin ask_V2Q = mkV2Q (mkV "") ; + +---- +-- B + +lin baby_N = mkN "" ; +lin back_N = mkN "" ; +lin bad_A = mkA "" ; +lin bank_N = mkN "" ; +lin bark_N = mkN "" ; +lin beautiful_A = mkA "" ; +lin become_VA = mkVA (mkV "") ; +lin beer_N = mkN "" ; +lin beg_V2V = mkV2V (mkV "") ; +lin belly_N = mkN "" ; +lin big_A = mkA "" ; +lin bike_N = mkN "" ;-} +lin bird_N = mkN "eun" "eòin" "eòin" Masc ;{- +lin bite_V2 = mkV2 "" ; +lin black_A = mkA "" ; +lin blood_N = mkN "" ; +lin blow_V = mkV "" ; +lin blue_A = mkA "" ; +lin boat_N = mkN "" ; +lin bone_N = mkN "" ; +lin boot_N = mkN "" ; +lin boss_N = mkN "" ; +lin book_N = mkN "" ; +lin boy_N = mkN "" ; +lin bread_N = mkN "" ; +lin break_V2 = mkV2 "" ; +lin breast_N = mkN "" ; +lin breathe_V = mkV "" ; +lin broad_A = mkA "" ; +lin brother_N2 = mkN "" ; +lin brown_A = mkA "" ; +lin burn_V = mkV "" ; +lin butter_N = mkN "" ; +lin buy_V2 = mkV2 "" ; + +---- +-- C + +lin camera_N = mkN "" ; +lin cap_N = mkN "" ; +lin car_N = mkN "" ; +lin carpet_N = mkN "" ; +lin cat_N = mkN "" ; +lin ceiling_N = mkN "" ; +lin chair_N = mkN "" ; +lin cheese_N = mkN "" ; +lin child_N = mkN "" ; +lin church_N = mkN "" ; +lin city_N = mkN "" ; +lin clean_A = mkA "" ; +lin clever_A = mkA "" ; +lin close_V2 = mkV2 "" ; +lin cloud_N = mkN "" ; +lin coat_N = mkN "" ; +lin cold_A = mkA "" ; +lin come_V = mkV "" ; +lin computer_N = mkN "" ; +lin correct_A = mkA "" ; +lin count_V2 = mkV2 "" ; +lin country_N = mkN "" ; +lin cousin_N = mkN "" ; +lin cow_N = mkN "" ; +lin cut_V2 = mkV2 "" ; + +---- +-- D + +lin day_N = mkN "" ; +lin die_V = mkV "die" ; +lin dig_V = mkV "" ; +lin dirty_A = mkA "" ; +lin distance_N3 = mkN3 (mkN "") ; +lin do_V2 = mkV2 "" ; +lin doctor_N = mkN "" ; +lin dog_N = mkN "" ; +lin door_N = mkN "" ; +lin drink_V2 = mkV2 "" ; +lin dry_A = mkA "" ; +lin dull_A = mkA "" ; +lin dust_N = mkN "" ; + +---- +-- E + +lin ear_N = mkN "" ; +lin earth_N = mkN "" ; +lin eat_V2 = mkV "" ; +lin egg_N = mkN "" ; +lin empty_A = mkA "" ; +lin enemy_N = mkN "" ; +lin eye_N = mkN "" ; + +---- +-- F + +lin factory_N = mkN "" ; +lin fall_V = mkV "" ; +lin far_Adv = mkA "" ; +lin fat_N = mkN "" ; +lin father_N2 = mkN2 (mkN "") ; +lin fear_V2 = mkV2 "" ; +lin fear_VS = mkVS (mkV "") ; +lin feather_N = mkN "" ; +lin fight_V2 = mkV2 "" ; +lin find_V2 = mkV2 "" ; +lin fingernail_N = mkN "" ; +lin fire_N = mkN "" ; +lin fish_N = mkN "" ; +lin float_V = mkV "" ; +lin floor_N = mkN "" ; +lin flow_V = mkV "" ; +lin flower_N = mkN "" ; +lin fly_V = mkV "" ; +lin fog_N = mkN "" ; +lin foot_N = mkN "" ; +lin forest_N = mkN "" ; +lin forget_V2 = mkV2 "" ; +lin freeze_V = mkV "" ; +lin fridge_N = mkN "" ; +lin friend_N = mkN "" ; +lin fruit_N = mkN "" ; +lin full_A = mkA "" ; +--lin fun_AV + +---- +-- G + +lin garden_N = mkN "" ; +lin girl_N = mkN "" ; +lin give_V3 = mkV3 (mkV "") ; +lin glove_N = mkN "" ; +lin go_V = mkV "" ; +lin gold_N = mkN "" ; +lin good_A = mkA "" ; +lin grammar_N = mkN "" ; +lin grass_N = mkN "" ; +lin green_A = mkA "" ; + +---- +-- H + +lin hair_N = mkN "" ;-} +lin hand_N = mkN "làmh" Fem ;{- +lin harbour_N = mkN "" ; +lin hat_N = mkN "" ; +lin hate_V2 = mkV2 "" ; +lin head_N = mkN "" ; +lin hear_V2 = mkV2 "" ; +lin heart_N = mkN "" ; +lin heavy_A = mkA "" ; +lin hill_N = mkN "" ; +lin hit_V2 = mkV2 "" ; +lin hold_V2 = mkV2 "" ; +lin hope_VS = mkV "" ; +lin horn_N = mkN "" ; +lin horse_N = mkN "" ; +lin hot_A = mkA "" ; +lin house_N = mkN "" ; +lin hunt_V2 = mkV2 "" ; +lin husband_N = mkN "" ; + +-------- +-- I - K + +lin ice_N = mkN "" ; +lin industry_N = mkN "" ; +lin iron_N = mkN "" ; +lin john_PN = mkPN "" ; +lin jump_V = mkV "" ; +lin kill_V2 = mkV2 "" ; +lin king_N = mkN "" ; +lin knee_N = mkN "" ; +lin know_V2 = mkV2 "" ; +lin know_VQ = mkVQ (mkV "") ; +lin know_VS = mkV "" ; + +-} +---- +-- L + +lin lake_N = mkN "loch" "locha" "lochan" Masc ; +{- +lin lamp_N = mkN "" ; +lin language_N = mkN "" ; +lin laugh_V = mkV "" ; +lin leaf_N = mkN "" ; +lin learn_V2 = mkV2 "" ; +lin leather_N = mkN "" ; +lin leave_V2 = mkV2 "" ; +lin leg_N = mkN "" ; +lin lie_V = mkV "" ; +lin like_V2 = mkV2 "" ; +lin listen_V2 = mkV2 "" ; +lin live_V = mkV ""; +lin liver_N = mkN "" ; +lin long_A = mkA "" ; +lin lose_V2 = mkV2 "" ; +lin louse_N = mkN "" ; +lin love_N = mkN "" ; +lin love_V2 = mkV2 "" ; + +---- +-- M + +-}lin man_N = mkN "fear" Masc ;{- +lin married_A2 = mkA2 (mkA "") ; +lin meat_N = mkN "" ; +lin milk_N = mkN "" ; +lin moon_N = mkN "" ; +lin mother_N2 = mkN2 (mkN "") ; +lin mountain_N = mkN "" ; +lin mouth_N = mkN "" ; +lin music_N = mkN "" ; + +---- +-- N + +lin name_N = mkN "" ; +lin narrow_A = mkA "" ; +lin near_A = mkA "" ; +lin neck_N = mkN "" ; +lin new_A = mkA "" ; +lin newspaper_N = mkN "" ; +lin night_N = mkN "" ; +lin nose_N = mkN "" ; +lin now_Adv = mkAdv "" ; +lin number_N = mkN "" ; + +-------- +-- O - P + + +lin oil_N = mkN "" ; +lin old_A = mkA "" ; +lin open_V2 = mkV2 "" ; +lin paint_V2A = mkV2A (mkV "") ; +lin paper_N = mkN "" ; +lin paris_PN = mkPN "Paris" ; +lin peace_N = mkN "" ; +lin pen_N = mkN "" ; +lin person_N = mkN "" ; +lin planet_N = mkN "" ; +lin plastic_N = mkN "" ; +lin play_V = mkV "" ; +lin policeman_N = mkN "" ; +lin priest_N = mkN "" ; +lin pull_V2 = mkV2 "" ; +lin push_V2 = mkV2 "" ; +lin put_V2 = mkV2 "" ; + +-------- +-- Q - R + + +lin queen_N = mkN "" ; +lin question_N = mkN "" ; +lin radio_N = mkN "" ; +lin rain_N = mkN "" ; +lin rain_V0 = mkV "" ; +lin read_V2 = mkV2 "" ; +lin ready_A = mkA "" ; +lin reason_N = mkN "" ; +lin red_A = mkA "" ; +lin religion_N = mkN "" ; +lin restaurant_N = mkN "" ; +lin river_N = mkN "" ; +lin road_N = mkN "" ; +lin rock_N = mkN "" ; +lin roof_N = mkN "" ; +lin root_N = mkN "" ; +lin rope_N = mkN "" ; +lin rotten_A = mkA "" ; +lin round_A = mkA "" ; +lin rub_V2 = mkV2 "" ; +lin rubber_N = mkN "" ; +lin rule_N = mkN "" ; +lin run_V = mkV "" ; + +---- +-- S + +lin salt_N = mkN "" ; +lin sand_N = mkN "" ; +lin say_VS = mkVS (mkV "") ; +lin school_N = mkN "" ; +lin science_N = mkN "" ; +lin scratch_V2 = mkV2 "" ; +lin sea_N = mkN "" ; +lin see_V2 = mkV2 "" ; +lin seed_N = mkN "" ; +lin seek_V2 = mkV2 "" ; +lin sell_V3 = mkV3 (mkV "" Meng) emptyPrep emptyPrep ; -- TODO +lin send_V3 = mkV3 (mkV "") ; +lin sew_V = mkV "" ; +lin sharp_A = mkA "" ; +lin sheep_N = mkN "" fem ; +lin ship_N = mkN "" ; +lin shirt_N = mkN "" ; +lin shoe_N = mkN "" ; +lin shop_N = mkN "" ; +lin short_A = mkA "" ; +lin silver_N = mkN "" ; +lin sing_V = mkV "" ; +lin sister_N = mkN "" ; +lin sit_V = mkV "" ; +lin skin_N = mkN "" ; +lin sky_N = mkN "" ; +lin sleep_V = mkV "" ; +lin small_A = mkA "" ; +lin smell_V = mkV "" ; +lin smoke_N = mkN "" ; +lin smooth_A = mkA "" ; +lin snake_N = mkN "" ; +lin snow_N = mkN "" ; +lin sock_N = mkN "" ; +lin song_N = mkN "" ; +lin speak_V2 = mkV2 "" ; +lin spit_V = mkV "" ; +lin split_V2 = mkV2 "" ; +lin squeeze_V2 = mkV2 "" ; +lin stab_V2 = mkV2 "" ; +lin stand_V = mkV "" ; +lin star_N = mkN "" ; +lin steel_N = mkN "" ; +lin stick_N = mkN "" ; +lin stone_N = mkN "" ; +lin stop_V = mkV "" ; +lin stove_N = mkN "" ; +lin straight_A = mkA "" ; +lin student_N = mkN "" ; +lin stupid_A = mkA "" ; +lin suck_V2 = mkV2 "" ; +lin sun_N = mkN "" ; +lin swell_V = mkV "" ; +lin swim_V = mkV "" ; + +---- +-- T + + +lin table_N = mkN "" ; +lin tail_N = mkN "" ; +lin talk_V3 = mkV3 (mkV "" Ber) (mkPrep "") (mkPrep "") ; +lin teach_V2 = mkV2 "" ; +lin teacher_N = mkN "" ; +lin television_N = mkN "" ; +lin thick_A = mkA "" ; +lin thin_A = mkA "" ; +lin think_V = mkV "" ; +lin throw_V2 = mkV2 "" ; +lin tie_V2 = mkV2 "" ; +lin today_Adv = mkA "" ; +lin tongue_N = mkN "" ; +lin tooth_N = mkN "" ; +lin train_N = mkN "" ; +lin travel_V = mkV "" ; +lin tree_N = mkN "" ; +lin turn_V = mkV "" ; + +-------- +-- U - V + +lin ugly_A = mkA "" ; +lin uncertain_A = mkA "" ; +lin understand_V2 = mkV2 "" ; +lin university_N = mkN "" ; +lin village_N = mkN "" ; +lin vomit_V = mkV2 "" ; + +-------- +-- W - Y + +lin wait_V2 = mkV2 "" ; +lin walk_V = mkV "" ; +lin war_N = mkN "" ; +lin warm_A = mkA "" ; +lin wash_V2 = mkV2 "" ; +lin watch_V2 = mkV2 "" ; +lin water_N = mkNoun "" ; +lin wet_A = mkA "" ; +lin white_A = mkA "" ; +lin wide_A = mkA "" ; +lin wife_N = mkN "" ; +lin win_V2 = mkV2 "" ; +lin wind_N = mkN "" ; +lin window_N = mkN "" ; +lin wine_N = mkN "" ; +lin wing_N = mkN "" ; +lin wipe_V2 = mkV2 "" ;-} +lin woman_N = mkN "boireannach" Masc ;{- +lin wonder_VQ = mkVQ (mkV "") ; +lin wood_N = mkN "" ; +lin worm_N = mkN "" ; +lin write_V2 = mkV2 "" ; +lin year_N = mkN "" ; +lin yellow_A = mkA "" ; +lin young_A = mkA "" ; +-} +} diff --git a/src/gaelic/MissingGla.gf b/src/gaelic/MissingGla.gf new file mode 100644 index 00000000..12be87d0 --- /dev/null +++ b/src/gaelic/MissingGla.gf @@ -0,0 +1,313 @@ +resource MissingGla = open GrammarGla, Prelude in { +-- temporary definitions to enable the compilation of RGL API +oper AdAP : AdA -> AP -> AP = notYet "AdAP" ; +oper AdAdv : AdA -> Adv -> Adv = notYet "AdAdv" ; +oper AdNum : AdN -> Card -> Card = notYet "AdNum" ; +oper AdVVP : AdV -> VP -> VP = notYet "AdVVP" ; +oper AdVVPSlash : AdV -> VPSlash -> VPSlash = notYet "AdVVPSlash" ; +oper AddAdvQVP : QVP -> IAdv -> QVP = notYet "AddAdvQVP" ; +oper AdjCN : AP -> CN -> CN = notYet "AdjCN" ; +oper AdjDAP : DAP -> AP -> DAP = notYet "AdjDAP" ; +oper AdjOrd : Ord -> AP = notYet "AdjOrd" ; +oper AdnCAdv : CAdv -> AdN = notYet "AdnCAdv" ; +oper AdvAP : AP -> Adv -> AP = notYet "AdvAP" ; +oper AdvCN : CN -> Adv -> CN = notYet "AdvCN" ; +oper AdvIAdv : IAdv -> Adv -> IAdv = notYet "AdvIAdv" ; +oper AdvIP : IP -> Adv -> IP = notYet "AdvIP" ; +oper AdvImp : Adv -> Imp -> Imp = notYet "AdvImp" ; +oper AdvNP : NP -> Adv -> NP = notYet "AdvNP" ; +oper AdvQVP : VP -> IAdv -> QVP = notYet "AdvQVP" ; +oper AdvS : Adv -> S -> S = notYet "AdvS" ; +oper AdvSlash : ClSlash -> Adv -> ClSlash = notYet "AdvSlash" ; +oper AdvVP : VP -> Adv -> VP = notYet "AdvVP" ; +oper AdvVPSlash : VPSlash -> Adv -> VPSlash = notYet "AdvVPSlash" ; +oper ApposCN : CN -> NP -> CN = notYet "ApposCN" ; +oper BaseAP : AP -> AP -> ListAP = notYet "BaseAP" ; +oper BaseAdV : AdV -> AdV -> ListAdV = notYet "BaseAdV" ; +oper BaseAdv : Adv -> Adv -> ListAdv = notYet "BaseAdv" ; +oper BaseCN : CN -> CN -> ListCN = notYet "BaseCN" ; +oper BaseIAdv : IAdv -> IAdv -> ListIAdv = notYet "BaseIAdv" ; +oper BaseNP : NP -> NP -> ListNP = notYet "BaseNP" ; +oper BaseRS : RS -> RS -> ListRS = notYet "BaseRS" ; +oper BaseS : S -> S -> ListS = notYet "BaseS" ; +oper CAdvAP : CAdv -> AP -> NP -> AP = notYet "CAdvAP" ; +oper CleftAdv : Adv -> S -> Cl = notYet "CleftAdv" ; +oper CleftNP : NP -> RS -> Cl = notYet "CleftNP" ; +oper CompAP : AP -> Comp = notYet "CompAP" ; +oper CompAdv : Adv -> Comp = notYet "CompAdv" ; +oper CompCN : CN -> Comp = notYet "CompCN" ; +oper CompIAdv : IAdv -> IComp = notYet "CompIAdv" ; +oper CompIP : IP -> IComp = notYet "CompIP" ; +oper CompNP : NP -> Comp = notYet "CompNP" ; +oper ComparA : A -> NP -> AP = notYet "ComparA" ; +oper ComparAdvAdj : CAdv -> A -> NP -> Adv = notYet "ComparAdvAdj" ; +oper ComparAdvAdjS : CAdv -> A -> S -> Adv = notYet "ComparAdvAdjS" ; +oper ComplA2 : A2 -> NP -> AP = notYet "ComplA2" ; +oper ComplN2 : N2 -> NP -> CN = notYet "ComplN2" ; +oper ComplN3 : N3 -> NP -> N2 = notYet "ComplN3" ; +oper ComplSlash : VPSlash -> NP -> VP = notYet "ComplSlash" ; +oper ComplSlashIP : VPSlash -> IP -> QVP = notYet "ComplSlashIP" ; +oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ; +oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ; +oper ComplVS : VS -> S -> VP = notYet "ComplVS" ; +oper ComplVV : VV -> VP -> VP = notYet "ComplVV" ; +oper ConjAP : Conj -> ListAP -> AP = notYet "ConjAP" ; +oper ConjAdV : Conj -> ListAdV -> AdV = notYet "ConjAdV" ; +oper ConjAdv : Conj -> ListAdv -> Adv = notYet "ConjAdv" ; +oper ConjCN : Conj -> ListCN -> CN = notYet "ConjCN" ; +oper ConjDet : Conj -> ListDAP -> Det = notYet "ConjDet" ; +oper ConjIAdv : Conj -> ListIAdv -> IAdv = notYet "ConjIAdv" ; +oper ConjNP : Conj -> ListNP -> NP = notYet "ConjNP" ; +oper ConjRS : Conj -> ListRS -> RS = notYet "ConjRS" ; +oper ConjS : Conj -> ListS -> S = notYet "ConjS" ; +oper ConsAP : AP -> ListAP -> ListAP = notYet "ConsAP" ; +oper ConsAdV : AdV -> ListAdV -> ListAdV = notYet "ConsAdV" ; +oper ConsAdv : Adv -> ListAdv -> ListAdv = notYet "ConsAdv" ; +oper ConsCN : CN -> ListCN -> ListCN = notYet "ConsCN" ; +oper ConsIAdv : IAdv -> ListIAdv -> ListIAdv = notYet "ConsIAdv" ; +oper ConsNP : NP -> ListNP -> ListNP = notYet "ConsNP" ; +oper ConsRS : RS -> ListRS -> ListRS = notYet "ConsRS" ; +oper ConsS : S -> ListS -> ListS = notYet "ConsS" ; +oper CountNP : Det -> NP -> NP = notYet "CountNP" ; +oper DetCN : Det -> CN -> NP = notYet "DetCN" ; +oper DetDAP : Det -> DAP = notYet "DetDAP" ; +oper DetNP : Det -> NP = notYet "DetNP" ; +oper DetQuantOrd : Quant -> Num -> Ord -> Det = notYet "DetQuantOrd" ; +oper EmbedQS : QS -> SC = notYet "EmbedQS" ; +oper EmbedS : S -> SC = notYet "EmbedS" ; +oper EmbedVP : VP -> SC = notYet "EmbedVP" ; +oper ExistIP : IP -> QCl = notYet "ExistIP" ; +oper ExistIPAdv : IP -> Adv -> QCl = notYet "ExistIPAdv" ; +oper ExistNP : NP -> Cl = notYet "ExistNP" ; +oper ExistNPAdv : NP -> Adv -> Cl = notYet "ExistNPAdv" ; +oper ExtAdvS : Adv -> S -> S = notYet "ExtAdvS" ; +oper ExtAdvVP : VP -> Adv -> VP = notYet "ExtAdvVP" ; +oper FunRP : Prep -> NP -> RP -> RP = notYet "FunRP" ; +oper GenericCl : VP -> Cl = notYet "GenericCl" ; +oper IdRP : RP = notYet "IdRP" ; +oper IdetCN : IDet -> CN -> IP = notYet "IdetCN" ; +oper IdetIP : IDet -> IP = notYet "IdetIP" ; +oper IdetQuant : IQuant -> Num -> IDet = notYet "IdetQuant" ; +oper ImpP3 : NP -> VP -> Utt = notYet "ImpP3" ; +oper ImpPl1 : VP -> Utt = notYet "ImpPl1" ; +oper ImpVP : VP -> Imp = notYet "ImpVP" ; +oper ImpersCl : VP -> Cl = notYet "ImpersCl" ; +oper MassNP : CN -> NP = notYet "MassNP" ; +oper NumCard : Card -> Num = notYet "NumCard" ; +oper NumDigits : Digits -> Card = notYet "NumDigits" ; +oper NumNumeral : Numeral -> Card = notYet "NumNumeral" ; +oper OrdDigits : Digits -> Ord = notYet "OrdDigits" ; +oper OrdNumeral : Numeral -> Ord = notYet "OrdNumeral" ; +oper OrdNumeralSuperl : Numeral -> A -> Ord = notYet "OrdNumeralSuperl" ; +oper OrdSuperl : A -> Ord = notYet "OrdSuperl" ; +oper PConjConj : Conj -> PConj = notYet "PConjConj" ; +oper PPartNP : NP -> V2 -> NP = notYet "PPartNP" ; +oper PartNP : CN -> NP -> CN = notYet "PartNP" ; +oper PassV2 : V2 -> VP = notYet "PassV2" ; +oper PhrUtt : PConj -> Utt -> Voc -> Phr = notYet "PhrUtt" ; +oper PositA : A -> AP = notYet "PositA" ; +oper PositAdAAdj : A -> AdA = notYet "PositAdAAdj" ; +oper PositAdvAdj : A -> Adv = notYet "PositAdvAdj" ; +oper PossNP : CN -> NP -> CN = notYet "PossNP" ; +oper PossPron : Pron -> Quant = notYet "PossPron" ; +oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ; +oper PredVP : NP -> VP -> Cl = notYet "PredVP" ; +oper PredetNP : Predet -> NP -> NP = notYet "PredetNP" ; +oper PrepIP : Prep -> IP -> IAdv = notYet "PrepIP" ; +oper PrepNP : Prep -> NP -> Adv = notYet "PrepNP" ; +oper ProgrVP : VP -> VP = notYet "ProgrVP" ; +oper QuestCl : Cl -> QCl = notYet "QuestCl" ; +oper QuestIAdv : IAdv -> Cl -> QCl = notYet "QuestIAdv" ; +oper QuestIComp : IComp -> NP -> QCl = notYet "QuestIComp" ; +oper QuestQVP : IP -> QVP -> QCl = notYet "QuestQVP" ; +oper QuestSlash : IP -> ClSlash -> QCl = notYet "QuestSlash" ; +oper QuestVP : IP -> VP -> QCl = notYet "QuestVP" ; +oper ReflA2 : A2 -> AP = notYet "ReflA2" ; +oper ReflVP : VPSlash -> VP = notYet "ReflVP" ; +oper RelCN : CN -> RS -> CN = notYet "RelCN" ; +oper RelCl : Cl -> RCl = notYet "RelCl" ; +oper RelNP : NP -> RS -> NP = notYet "RelNP" ; +oper RelS : S -> RS -> S = notYet "RelS" ; +oper RelSlash : RP -> ClSlash -> RCl = notYet "RelSlash" ; +oper RelVP : RP -> VP -> RCl = notYet "RelVP" ; +oper SSubjS : S -> Subj -> S -> S = notYet "SSubjS" ; +oper SelfAdVVP : VP -> VP = notYet "SelfAdVVP" ; +oper SelfAdvVP : VP -> VP = notYet "SelfAdvVP" ; +oper SelfNP : NP -> NP = notYet "SelfNP" ; +oper SentAP : AP -> SC -> AP = notYet "SentAP" ; +oper SentCN : CN -> SC -> CN = notYet "SentCN" ; +oper Slash2V3 : V3 -> NP -> VPSlash = notYet "Slash2V3" ; +oper Slash3V3 : V3 -> NP -> VPSlash = notYet "Slash3V3" ; +oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ; +oper SlashV2A : V2A -> AP -> VPSlash = notYet "SlashV2A" ; +oper SlashV2Q : V2Q -> QS -> VPSlash = notYet "SlashV2Q" ; +oper SlashV2S : V2S -> S -> VPSlash = notYet "SlashV2S" ; +oper SlashV2V : V2V -> VP -> VPSlash = notYet "SlashV2V" ; +oper SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash = notYet "SlashV2VNP" ; +oper SlashV2a : V2 -> VPSlash = notYet "SlashV2a" ; +oper SlashVP : NP -> VPSlash -> ClSlash = notYet "SlashVP" ; +oper SlashVS : NP -> VS -> SSlash -> ClSlash = notYet "SlashVS" ; +oper SlashVV : VV -> VPSlash -> VPSlash = notYet "SlashVV" ; +oper SubjS : Subj -> S -> Adv = notYet "SubjS" ; +oper TFullStop : Phr -> Text -> Text = notYet "TFullStop" ; +oper Use2N3 : N3 -> N2 = notYet "Use2N3" ; +oper Use3N3 : N3 -> N2 = notYet "Use3N3" ; +oper UseA2 : A2 -> AP = notYet "UseA2" ; +oper UseCl : Temp -> Pol -> Cl -> S = notYet "UseCl" ; +oper UseComp : Comp -> VP = notYet "UseComp" ; +oper UseComparA : A -> AP = notYet "UseComparA" ; +oper UseCopula : VP = notYet "UseCopula" ; +oper UseN : N -> CN = notYet "UseN" ; +oper UseN2 : N2 -> CN = notYet "UseN2" ; +oper UsePN : PN -> NP = notYet "UsePN" ; +oper UsePron : Pron -> NP = notYet "UsePron" ; +oper UseQCl : Temp -> Pol -> QCl -> QS = notYet "UseQCl" ; +oper UseRCl : Temp -> Pol -> RCl -> RS = notYet "UseRCl" ; +oper UseSlash : Temp -> Pol -> ClSlash -> SSlash = notYet "UseSlash" ; +oper UseV : V -> VP = notYet "UseV" ; +oper UttAP : AP -> Utt = notYet "UttAP" ; +oper UttAdv : Adv -> Utt = notYet "UttAdv" ; +oper UttCN : CN -> Utt = notYet "UttCN" ; +oper UttCard : Card -> Utt = notYet "UttCard" ; +oper UttIAdv : IAdv -> Utt = notYet "UttIAdv" ; +oper UttIP : IP -> Utt = notYet "UttIP" ; +oper UttImpPl : Pol -> Imp -> Utt = notYet "UttImpPl" ; +oper UttImpPol : Pol -> Imp -> Utt = notYet "UttImpPol" ; +oper UttImpSg : Pol -> Imp -> Utt = notYet "UttImpSg" ; +oper UttInterj : Interj -> Utt = notYet "UttInterj" ; +oper UttNP : NP -> Utt = notYet "UttNP" ; +oper UttQS : QS -> Utt = notYet "UttQS" ; +oper UttS : S -> Utt = notYet "UttS" ; +oper UttVP : VP -> Utt = notYet "UttVP" ; +oper VPSlashPrep : VP -> Prep -> VPSlash = notYet "VPSlashPrep" ; +oper VocNP : NP -> Voc = notYet "VocNP" ; +oper above_Prep : Prep = notYet "above_Prep" ; +oper active2passive : Cl -> Cl = notYet "active2passive" ; +oper after_Prep : Prep = notYet "after_Prep" ; +oper alas_Interj : Interj = notYet "alas_Interj" ; +oper all_Predet : Predet = notYet "all_Predet" ; +oper almost_AdA : AdA = notYet "almost_AdA" ; +oper almost_AdN : AdN = notYet "almost_AdN" ; +oper already_Adv : Adv = notYet "already_Adv" ; +oper although_Subj : Subj = notYet "although_Subj" ; +oper always_AdV : AdV = notYet "always_AdV" ; +oper as_CAdv : CAdv = notYet "as_CAdv" ; +oper at_least_AdN : AdN = notYet "at_least_AdN" ; +oper at_most_AdN : AdN = notYet "at_most_AdN" ; +oper because_Subj : Subj = notYet "because_Subj" ; +oper before_Prep : Prep = notYet "before_Prep" ; +oper behind_Prep : Prep = notYet "behind_Prep" ; +oper between_Prep : Prep = notYet "between_Prep" ; +oper both7and_DConj : Conj = notYet "both7and_DConj" ; +oper but_PConj : PConj = notYet "but_PConj" ; +oper by8agent_Prep : Prep = notYet "by8agent_Prep" ; +oper by8means_Prep : Prep = notYet "by8means_Prep" ; +oper dconcat : Digits -> Digits -> Digits = notYet "dconcat" ; +oper digits2num : Digits -> Numeral = notYet "digits2num" ; +oper digits2numeral : Card -> Card = notYet "digits2numeral" ; +oper dn : Dig -> Digit = notYet "dn" ; +oper dn10 : Dig -> Sub10 = notYet "dn10" ; +oper dn100 : Dig -> Dig -> Sub100 = notYet "dn100" ; +oper dn1000 : Dig -> Dig -> Dig -> Sub1000 = notYet "dn1000" ; +oper dn1000000a : Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000a" ; +oper dn1000000b : Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000b" ; +oper dn1000000c : Dig -> Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 = notYet "dn1000000c" ; +oper during_Prep : Prep = notYet "during_Prep" ; +oper either7or_DConj : Conj = notYet "either7or_DConj" ; +oper every_Det : Det = notYet "every_Det" ; +oper everybody_NP : NP = notYet "everybody_NP" ; +oper everything_NP : NP = notYet "everything_NP" ; +oper everywhere_Adv : Adv = notYet "everywhere_Adv" ; +oper except_Prep : Prep = notYet "except_Prep" ; +oper few_Det : Det = notYet "few_Det" ; +oper for_Prep : Prep = notYet "for_Prep" ; +oper from_Prep : Prep = notYet "from_Prep" ; +oper he_Pron : Pron = notYet "he_Pron" ; +oper here7from_Adv : Adv = notYet "here7from_Adv" ; +oper here7to_Adv : Adv = notYet "here7to_Adv" ; +oper here_Adv : Adv = notYet "here_Adv" ; +oper how8many_IDet : IDet = notYet "how8many_IDet" ; +oper how8much_IAdv : IAdv = notYet "how8much_IAdv" ; +oper how_IAdv : IAdv = notYet "how_IAdv" ; +oper i_Pron : Pron = notYet "i_Pron" ; +oper if_Subj : Subj = notYet "if_Subj" ; +oper if_then_Conj : Conj = notYet "if_then_Conj" ; +oper in8front_Prep : Prep = notYet "in8front_Prep" ; +oper in_Prep : Prep = notYet "in_Prep" ; +oper it_Pron : Pron = notYet "it_Pron" ; +oper john_PN : PN = notYet "john_PN" ; +oper language_title_Utt : Utt = notYet "language_title_Utt" ; +oper left_Ord : Ord = notYet "left_Ord" ; +oper less_CAdv : CAdv = notYet "less_CAdv" ; +oper many_Det : Det = notYet "many_Det" ; +oper more_CAdv : CAdv = notYet "more_CAdv" ; +oper most_Predet : Predet = notYet "most_Predet" ; +oper much_Det : Det = notYet "much_Det" ; +oper nd : Digit -> Dig = notYet "nd" ; +oper nd10 : Sub10 -> Digits = notYet "nd10" ; +oper nd100 : Sub100 -> Digits = notYet "nd100" ; +oper nd1000 : Sub1000 -> Digits = notYet "nd1000" ; +oper nd1000000 : Sub1000000 -> Digits = notYet "nd1000000" ; +oper no_Quant : Quant = notYet "no_Quant" ; +oper no_Utt : Utt = notYet "no_Utt" ; +oper nobody_NP : NP = notYet "nobody_NP" ; +oper not_Predet : Predet = notYet "not_Predet" ; +oper nothing_NP : NP = notYet "nothing_NP" ; +oper num : Sub1000000 -> Numeral = notYet "num" ; +oper num2digits : Numeral -> Digits = notYet "num2digits" ; +oper on_Prep : Prep = notYet "on_Prep" ; +oper only_Predet : Predet = notYet "only_Predet" ; +oper or_Conj : Conj = notYet "or_Conj" ; +oper otherwise_PConj : PConj = notYet "otherwise_PConj" ; +oper part_Prep : Prep = notYet "part_Prep" ; +oper please_Voc : Voc = notYet "please_Voc" ; +oper possess_Prep : Prep = notYet "possess_Prep" ; +oper pot01 : Sub10 = notYet "pot01" ; +oper pot1 : Digit -> Sub100 = notYet "pot1" ; +oper pot110 : Sub100 = notYet "pot110" ; +oper pot111 : Sub100 = notYet "pot111" ; +oper pot1plus : Digit -> Sub10 -> Sub100 = notYet "pot1plus" ; +oper pot1to19 : Digit -> Sub100 = notYet "pot1to19" ; +oper pot2 : Sub10 -> Sub1000 = notYet "pot2" ; +oper pot2plus : Sub10 -> Sub100 -> Sub1000 = notYet "pot2plus" ; +oper pot3 : Sub1000 -> Sub1000000 = notYet "pot3" ; +oper pot3plus : Sub1000 -> Sub1000 -> Sub1000000 = notYet "pot3plus" ; +oper quite_Adv : AdA = notYet "quite_Adv" ; +oper right_Ord : Ord = notYet "right_Ord" ; +oper she_Pron : Pron = notYet "she_Pron" ; +oper so_AdA : AdA = notYet "so_AdA" ; +oper somePl_Det : Det = notYet "somePl_Det" ; +oper someSg_Det : Det = notYet "someSg_Det" ; +oper somebody_NP : NP = notYet "somebody_NP" ; +oper something_NP : NP = notYet "something_NP" ; +oper somewhere_Adv : Adv = notYet "somewhere_Adv" ; +oper that_Quant : Quant = notYet "that_Quant" ; +oper that_Subj : Subj = notYet "that_Subj" ; +oper there7from_Adv : Adv = notYet "there7from_Adv" ; +oper there7to_Adv : Adv = notYet "there7to_Adv" ; +oper there_Adv : Adv = notYet "there_Adv" ; +oper therefore_PConj : PConj = notYet "therefore_PConj" ; +oper they_Pron : Pron = notYet "they_Pron" ; +oper this_Quant : Quant = notYet "this_Quant" ; +oper through_Prep : Prep = notYet "through_Prep" ; +oper to_Prep : Prep = notYet "to_Prep" ; +oper too_AdA : AdA = notYet "too_AdA" ; +oper under_Prep : Prep = notYet "under_Prep" ; +oper very_AdA : AdA = notYet "very_AdA" ; +oper we_Pron : Pron = notYet "we_Pron" ; +oper whatPl_IP : IP = notYet "whatPl_IP" ; +oper whatSg_IP : IP = notYet "whatSg_IP" ; +oper when_IAdv : IAdv = notYet "when_IAdv" ; +oper when_Subj : Subj = notYet "when_Subj" ; +oper where_IAdv : IAdv = notYet "where_IAdv" ; +oper which_IQuant : IQuant = notYet "which_IQuant" ; +oper whoPl_IP : IP = notYet "whoPl_IP" ; +oper whoSg_IP : IP = notYet "whoSg_IP" ; +oper why_IAdv : IAdv = notYet "why_IAdv" ; +oper with_Prep : Prep = notYet "with_Prep" ; +oper without_Prep : Prep = notYet "without_Prep" ; +oper yes_Utt : Utt = notYet "yes_Utt" ; +oper youPl_Pron : Pron = notYet "youPl_Pron" ; +oper youPol_Pron : Pron = notYet "youPol_Pron" ; +oper youSg_Pron : Pron = notYet "youSg_Pron" ; +} diff --git a/src/gaelic/MorphoGla.gf b/src/gaelic/MorphoGla.gf new file mode 100644 index 00000000..4d9dae8c --- /dev/null +++ b/src/gaelic/MorphoGla.gf @@ -0,0 +1,10649 @@ +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' : (_,_,_,_ : Str) -> Gender -> LinN ; +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/NamesGla.gf b/src/gaelic/NamesGla.gf new file mode 100644 index 00000000..7283f091 --- /dev/null +++ b/src/gaelic/NamesGla.gf @@ -0,0 +1,36 @@ +concrete NamesGla of Names = CatGla ** open Prelude in { + +-- An API layer to deal with names +-- Not part of the RGL API, but used in the AW project +-- So depends on your goals whether this is high or low priority to implement. +{- + lin + -- : GN -> NP ; + GivenName gn = + + -- : SN -> NP ; + MaleSurname sn = + + -- : SN -> NP ; + FemaleSurname sn = + + -- : SN -> NP ; + PlSurname sn = + + -- : GN -> SN -> NP ; + FullName gn sn = + + lin + -- : LN -> NP ; + UseLN ln = + + -- : LN -> NP ; + PlainLN ln = + + -- : LN -> Adv ; + InLN ln = + + -- : AP -> LN -> LN ; + AdjLN ap ln = +-} +} diff --git a/src/gaelic/NounGla.gf b/src/gaelic/NounGla.gf new file mode 100644 index 00000000..a315be5f --- /dev/null +++ b/src/gaelic/NounGla.gf @@ -0,0 +1,233 @@ +concrete NounGla of Noun = CatGla ** open ResGla, Prelude in { + + flags optimize=all_subs ; + + lin + +--2 Noun phrases + +-- : Det -> CN -> NP + DetCN det cn = emptyNP ** { + art = det.s ! cn.g ; + s = \\c => case det.dt of { + DDef n sp => cn.s ! c ! sp ! n ; + DPoss n _ => cn.s ! c ! Def ! n -- ???????????????? + } ; + voc = case det.dt of { + DDef n sp => cn.voc ! n ; -- ???????????????? guessed + DPoss n _ => cn.voc ! n -- ???????????????? + } ; + a = NotPron det.dt ; + } ; + + -- : PN -> NP ; + -- Assuming that lincat PN = lincat NP + -- UsePN pn = pn ; + + -- : Pron -> NP ; + -- Assuming that lincat Pron = lincat NP + UsePron pron = emptyNP ** pron ** { + s = pron.s ; + a = IsPron pron.a + } ; +{- + -- : Predet -> NP -> NP ; -- only the man + PredetNP predet np = + +-- A noun phrase can also be postmodified by the past participle of a +-- verb, by an adverb, or by a relative clause + + -- low prio + -- : NP -> V2 -> NP ; -- the man seen + -- PPartNP np v2 = np ** { + -- s = + -- } ; + + -- : NP -> Adv -> NP ; -- Paris today + AdvNP np adv = np ** { + s = np.s ++ "," ++ adv.s + } ; + + -- : NP -> Adv -> NP ; -- boys, such as .. + ExtAdvNP np adv = AdvNP np {s = "," ++ adv.s} ; + + -- : NP -> RS -> NP ; -- Paris, which is here + RelNP np rs = np ** { + + } ; + +-- Determiners can form noun phrases directly. + + -- : Det -> NP ; + DetNP det = emptyNP ** { + s = \\_ => linDet det ; + } ; +-} + -- MassNP : CN -> NP ; + MassNP cn = emptyNP ** { + s = \\c => cn.s ! c ! Indef ! Sg -- no article, singular indefinite forms, open for cases+mutations + } ; + + +--2 Determiners + +-- The determiner has a fine-grained structure, in which a 'nucleus' +-- quantifier and an optional numeral can be discerned. + + -- : Quant -> Num -> Det ; + DetQuant quant num = quant ** { + s = \\g,c => getArt quant num.n g c ++ num.s ; + s2 = \\g,c => "DUMMY" ; -- "teen" from numbers like seventeen + dt = case quant.qt of { + QDef defi => DDef num.n defi ; + QPoss agr => DPoss num.n agr } ; + } ; + + -- : Quant -> Num -> Ord -> Det ; + -- DetQuantOrd quant num ord = quant ** { + + -- } ; + +-- Whether the resulting determiner is singular or plural depends on the +-- cardinal. + +-- All parts of the determiner can be empty, except $Quant$, which is +-- the "kernel" of a determiner. It is, however, the $Num$ that determines +-- the inherent number. + + NumSg = {s = [] ; n = Sg} ; + NumPl = {s = [] ; n = Pl} ; + +{- + -- : Card -> Num ; -- two + NumCard card = card ; + + -- : Digits -> Card ; + NumDigits dig = -- probably like OrdDigits, but choose the NCard form + + -- : Numeral -> Card ; + NumNumeral num = { + s = num.s ! NCard ; + n = num.n -- inherits grammatical number (Sg, Pl, …) from the Numeral + } ; + + -- : AdN -> Card -> Card ; + AdNum adn card = card ** { s = adn.s ++ card.s } ; + + -- : Digits -> Ord ; + OrdDigits digs = digs ** { s = digs.s ! NOrd } ; + + -- : Numeral -> Ord ; + OrdNumeral num = { + s = num.s ! NOrd + } ; + + -- : A -> Ord ; + OrdSuperl a = { + s = "most" ++ a.s ! Superl + } ; + +-- One can combine a numeral and a superlative. + + -- : Numeral -> A -> Ord ; -- third largest + OrdNumeralSuperl num a = { + s = num.s ! NOrd ++ a.s ! Superl + } ; +-} + + -- : Quant + DefArt = ResGla.defArt ; + + -- : Quant + IndefArt = { + s = \\_ => [] ; + sp = [] ; + qt = QDef Indef ; + } ; + + -- : Pron -> Quant -- my + PossPron pron = { + s = \\_ => pron.poss ; + sp = pron.poss ; + qt = QPoss pron.a ; + } ; + +--2 Common nouns + + -- : N -> CN + UseN n = n ; + +{- + -- : N2 -> CN ; + UseN2 n2 = + + -- : N2 -> NP -> CN ; + ComplN2 n2 np = + + -- : N3 -> NP -> N2 ; -- distance from this city (to Paris) + ComplN3 n3 np = + + -- : N3 -> N2 ; -- distance (from this city) + Use2N3 n3 = lin N2 n3 ** { c2 = n3.c3 } ; + + -- : N3 -> N2 ; -- distance (to Paris) + Use3N3 n3 = lin N2 n3 ; +-} + -- : AP -> CN -> CN + AdjCN ap cn = { + s = \\c,s,n => cn.s ! c ! s ! n ++ ap.s ! aform c n cn.g ; + voc = \\n => cn.voc ! n ++ ap.voc ! cn.g ; + g = cn.g + } ; +{- + -- : CN -> RS -> CN ; + RelCN cn rs = + + + -- : CN -> Adv -> CN ; + AdvCN cn adv = + +-- Nouns can also be modified by embedded sentences and questions. +-- For some nouns this makes little sense, but we leave this for applications +-- to decide. Sentential complements are defined in VerbGla. + + -- : CN -> SC -> CN ; -- question where she sleeps + SentCN cn sc = + +--2 Apposition + +-- This is certainly overgenerating. + + -- : CN -> NP -> CN ; -- city Paris (, numbers x and y) + ApposCN cn np = cn ** { + s = + } ; + +--2 Possessive and partitive constructs +-- NB. Below this, the functions are not in the API, so lower prio to implement + + -- : PossNP : CN -> NP -> CN ; + -- in English: book of someone; point is that we can add a determiner to the CN, + -- so it can become "a book of someone" or "the book of someone" + PossNP cn np = + + + -- : Det -> NP -> NP ; -- three of them, some of the boys + CountNP det np = -- Nonsense for DefArt or IndefArt, but don't worry about that! RGL can contain weird sentences, as long as it contains the non-weird stuff we want + + + -- : CN -> NP -> CN ; -- glass of wine / two kilos of red apples + PartNP cn np = + +--3 Conjoinable determiners and ones with adjectives + + -- : DAP -> AP -> DAP ; -- the large (one) + AdjDAP dap ap = dap ** { + + } ; + + -- : Det -> DAP ; -- this (or that) + DetDAP det = det ; +-} + +} diff --git a/src/gaelic/NumeralGla.gf b/src/gaelic/NumeralGla.gf new file mode 100644 index 00000000..e56c4ea2 --- /dev/null +++ b/src/gaelic/NumeralGla.gf @@ -0,0 +1,117 @@ +concrete NumeralGla of Numeral = CatGla [Numeral,Digits] ** + open Prelude, ResGla in { +{- + lincat + Digit = LinNumeral ; -- 2..9 + Sub10, -- 1..9 + Sub100, -- 1..99 + Sub1000, -- 1..999 + Sub1000000, -- 1..999999 + Sub1000000000, -- 1..999999999 + Sub1000000000000 -- 1..999999999999 + = LinNumeral ; + +-- param CardOrd defined in ResGla +-- type LinNumeral -""- + + + lin + -- : Sub1000000 -> Numeral ; -- 123456 [coercion to top category] + num x = x ; + + -- : Digit ; + n2 = mkNumeral "two" ; + n3 = mkNumeral "three" ; + n4 = mkNumeral "four" ; + n5 = mkNumeral "five" ; + n6 = mkNumeral "six" ; + n7 = mkNumeral "seven" ; + n8 = mkNumeral "eight" ; + n9 = mkNumeral "nine" ; + + -- : Sub10 ; -- 1 + -- pot01 = + + -- : Digit -> Sub10 ; -- d * 1 + pot0 d = d ; + + -- : Sub100 ; -- 10 + -- pot110 = mkNum "ten" ; + + -- : Sub100 ; -- 11 + -- pot111 = mkNum "eleven" ; + + -- : Digit -> Sub100 ; -- 10 + d + -- pot1to19 d = + + -- : Sub10 -> Sub100 ; -- coercion of 1..9 + pot0as1 n = n ; + + -- : Digit -> Sub100 ; -- d * 10 + -- pot1 d = + + -- : Digit -> Sub10 -> Sub100 ; -- d * 10 + n + -- pot1plus d e = + + -- : Sub100 -> Sub1000 ; -- coercion of 1..99 + pot1as2 n = n ; + + -- : Sub10 -> Sub1000 ; -- m * 100 + -- pot2 d = + + -- : Sub10 -> Sub100 -> Sub1000 ; -- m * 100 + n + -- pot2plus d e = + + -- : Sub1000 -> Sub1000000 ; -- coercion of 1..999 + pot2as3 n = n ; + + -- : Sub1000 -> Sub1000000 ; -- m * 1000 + -- pot3 d = + + -- : Sub1000 -> Sub1000 -> Sub1000000 ; -- m * 1000 + n + -- pot3plus d e = + +-------------------------------------------------------------------------------- +-- Numerals as sequences of digits have a separate, simpler grammar +-- + + lincat + Dig = LinDig ; -- single digit 0..9 + + lin + -- : Dig -> Digits ; -- 8 + IDig d = d ; + + -- : Dig -> Digits -> Digits ; -- 876 + IIDig d e = { + s = table { + NCard => glue (d.s ! NCard) (e.s ! NCard) ; + NOrd => glue (d.s ! NCard) (e.s ! NOrd) + } ; + n = Pl ; + } ; + + -- : Dig ; + D_0 = mkDig "0" ; + D_1 = mkDig "1" ; + D_2 = mkDig "2" ; + D_3 = mkDig "3" ; + D_4 = mkDig "4" ; + D_5 = mkDig "5" ; + D_6 = mkDig "6" ; + D_7 = mkDig "7" ; + D_8 = mkDig "8" ; + D_9 = mkDig "9" ; + + oper + LinDig : Type = {s : CardOrd => Str ; n : Number} ; + mkDig : Str -> LinDig = \s -> { + s = table { + NCard => s ; + NOrd => s + "th" + } ; + n = Pl ; -- TODO: handle number 1 + } ; + + -} +} diff --git a/src/gaelic/ParadigmsGla.gf b/src/gaelic/ParadigmsGla.gf new file mode 100644 index 00000000..e065eabb --- /dev/null +++ b/src/gaelic/ParadigmsGla.gf @@ -0,0 +1,2195 @@ +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 = \nom,gen -> lin N (reg2N nom gen) ; -- nom;indef;sg gen;indef;sg + + mkN : (nom,gen,pl : Str) -> Gender -> N = \loch,locha,lochan,g -> + lin N (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 lin N (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 : Str -> LN = \s -> lin LN {s=s} ; +oper mkGN : Str -> GN = \s -> lin GN {s=s} ; +oper mkSN : Str -> SN = \s -> lin SN {s=s} ; +oper mkPN : Str -> PN = \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 + mkPron : (subj,poss : Str) -> PronAgr -> LinPron = \subj,poss,agr -> { + s = table { + Nom _ => subj ; + _ => "gam" -- TODO fix this + } ; + poss = poss ; + a = agr ; + empty = [] + } ; + +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 ; + } ; + +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} ; + +noPrep : Prep = lin Prep {s=\\_=>""; c2=\\_=>Dat NoMutation; replacesObjPron=False} ; + +mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; +mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ; + +oper + singular : Number = Sg ; + plural : Number = Pl ; + + indefinite : Species = Indef ; + definite : Species = Def ; + +} diff --git a/src/gaelic/PhraseGla.gf b/src/gaelic/PhraseGla.gf new file mode 100644 index 00000000..851a5322 --- /dev/null +++ b/src/gaelic/PhraseGla.gf @@ -0,0 +1,30 @@ +concrete PhraseGla of Phrase = CatGla ** open Prelude, ResGla in { + + lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + +{- + UttQS qs = qs ; + UttIAdv iadv = iadv ; -} + + UttNP np = {s = linNP np} ; + +{- UttIP ip = + UttImpSg pol imp = { s = pol.s ++ imp.s ! Sg ! pol.p } ; + UttImpPl pol imp = + UttImpPol pol imp = {s = pol.s ++ imp.s ! Sg ! pol.p} ; + UttVP vp = {s = linVP vp} ; -} + UttAP ap = { s = ap.s ! ASg NOM Masc } ; + UttAdv adv = {s = adv.s} ; + UttCN n = {s = n.s ! NOM ! Indef ! Sg} ; +-- UttCard n = {s = } ; + UttInterj i = i ; + NoPConj = {s = []} ; +-- PConjConj conj = {s = conj.s1 ++ conj.s2 ! …} ; + + NoVoc = {s = []} ; + VocNP np = {s = "," ++ np.art ! NOM ++ np.voc} ; --guessed + +} diff --git a/src/gaelic/QuestionGla.gf b/src/gaelic/QuestionGla.gf new file mode 100644 index 00000000..d568c3bb --- /dev/null +++ b/src/gaelic/QuestionGla.gf @@ -0,0 +1,105 @@ +concrete QuestionGla of Question = CatGla ** open + Prelude, ResGla, ParadigmsGla, (V=VerbGla), (Noun=NounGla), (S=StructuralGla) in { + +-- A question can be formed from a clause ('yes-no question') or +-- with an interrogative. +-- Interrogative pronouns can be formed with interrogative +-- determiners, with or without a noun. + +{- +lin + -- : IDet -> CN -> IP ; -- which five songs + IdetCN idet cn = Noun.DetCN idet cn ** { + } ; + + -- : IDet -> IP ; -- which five + IdetIP idet = Noun.DetNP idet ** {sp = idet.sp}; + + -- : IQuant -> Num -> IDet ; -- which (five) + IdetQuant iquant num = iquant ** { + } ; + + -- : IP -> ClSlash -> QCl ; -- whom does John love + QuestSlash ip cls = cls ** { + + } ; + + -- : Cl -> QCl ; + QuestCl cl = cl ** { + }; + + + -- : IP -> VP -> QCl ; + QuestVP ip cl = cl ** { + } ; + + -- : IAdv -> Cl -> QCl ; -- why does John walk + QuestIAdv iadv cls = { + } ; + + -- : IP -> IComp ; + CompIP ip = {s = ip.s ! } ; -- who (is it) + + -- : IComp -> NP -> QCl ; -- where is John? + QuestIComp icomp np = { + } ; + + +-- Interrogative pronouns can be formed with interrogative +-- determiners, with or without a noun. + + -- : IDet -> CN -> IP ; -- which five songs + IdetCN idet cn = + + -- : IDet -> IP ; -- which five + IdetIP idet = + +-- They can be modified with adverbs. + + -- : IP -> Adv -> IP ; -- who in Paris + AdvIP = Noun.AdvNP ; + +-- Interrogative quantifiers have number forms and can take number modifiers. + + -- : IQuant -> Num -> IDet ; -- which (five) + IdetQuant = Noun.DetQuant ; + +-- Interrogative adverbs can be formed prepositionally. + -- : Prep -> IP -> IAdv ; -- with whom + PrepIP prep ip = + +-- They can be modified with other adverbs. + + -- : IAdv -> Adv -> IAdv ; -- where in Paris + AdvIAdv iadv adv = + +-- Interrogative complements to copulas can be both adverbs and +-- pronouns. + + -- : IAdv -> IComp ; + CompIAdv iadv = iadv ; -- where (is it) + + +-- More $IP$, $IDet$, and $IAdv$ are defined in $Structural$. + +-- Wh questions with two or more question words require a new, special category. + + lincat + -- buy what where + QVP = + lin + -- : VPSlash -> IP -> QVP ; -- buys what + ComplSlashIP vps ip = + + -- : VP -> IAdv -> QVP ; -- lives where + AdvQVP vp iadv = + + -- : QVP -> IAdv -> QVP ; -- buys what where + AddAdvQVP qvp iadv = + + -- : IP -> QVP -> QCl ; -- who buys what where + QuestQVP ip qvp = +-} + + +} diff --git a/src/gaelic/RelativeGla.gf b/src/gaelic/RelativeGla.gf new file mode 100644 index 00000000..9abc5c36 --- /dev/null +++ b/src/gaelic/RelativeGla.gf @@ -0,0 +1,24 @@ +concrete RelativeGla of Relative = CatGla ** open + ResGla, Prelude in { + +{- +lin + -- : Cl -> RCl ; -- such that John loves her + RelCl cl = cl ** { + } ; + + -- : RP -> VP -> RCl ; + RelVP rp vp = { + } ; + + -- : RP -> ClSlash -> RCl ; -- who I went with + RelSlash rp cls = { + } ; + + -- : RP ; + IdRP = {s = "that"} ; + + -- : Prep -> NP -> RP -> RP ; -- the mother of whom + FunRP prep np rp = +-} +} diff --git a/src/gaelic/ResGla.gf b/src/gaelic/ResGla.gf new file mode 100644 index 00000000..aa652904 --- /dev/null +++ b/src/gaelic/ResGla.gf @@ -0,0 +1,573 @@ +resource ResGla = open Prelude, Predef in { + + +-------------------------------------------------------------------------------- +-- General notes + +-- ** Naming ** +{- +I'm using the naming scheme for lincats and opers as explained here: +https://inariksit.github.io/gf/2018/08/28/gf-gotchas.html#my-naming-scheme-for-lincats-and-opers +-} + +-- ** File structure ** +-- The rest of this module is organised as follows: + + ----------------------------- + -- Grammatical categor(y|ies) + + {- + General comments on the cat(s) + + params related to the cat(s) + + opers related to the cat(s) + -} + +-------------------------------------------------------------------------------- +-- Nouns + + +param + Gender = Masc | Fem ; + Case = Nom Mutation | Dat Mutation | Gen ; + Mutation = Lenited | NoMutation ; + Number = Sg + | Pl + ; + Person = P1 | P2 | P3 ; + Species = Indef | Def ; -- Some prepositions govern different case when definite vs. indefinite + +oper + NOM : Case = Nom NoMutation ; -- shorthand + +oper + LinN : Type = {s: Case => Species => Number => Str; voc: Number => Str; g: Gender} ; + + mk5N : (_,_,_,_,_ : Str) -> Gender -> LinN ; + 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") ; + lenitable : pattern Str = #("b"|"c"|"f"|"g"|"m"|"p"|"d"|"t"|"s") ; + labial : pattern Str = #("b"|"f"|"m"|"p") ; + + palatalise : Str -> Str = \lamh -> case lamh of { + 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 { + "s" + ("p"|"g"|"m"|"t") + _ => tunnag ; -- sp, sg, sm, st don't lenite + t@#lenitable + "h" + _ => tunnag ; -- don't lenite twice + t@#lenitable + unnag => t + "h" + unnag ; + _ => tunnag } ; + + +--------------------------------------------- +-- Proper noun + +oper + LinPN : Type = { + s : Str ; + n : Number ; -- Proper nouns often have already an inherent number; you don't usually say "a Paris / many Parises" + g : Gender ; -- inherent gender/noun class, if your language has that + } ; + +--------------------------------------------- +-- Numeral + +-- Used in NumeralGla + param + CardOrd = NCard | NOrd ; + + oper + LinNumeral : Type = {s : CardOrd => Str ; n : Number} ; + + mkNumeral : (card, ord : Str) -> LinNumeral = \card,ord -> { + s = table { + NCard => card ; -- aon(a) -- TODO: allomorph of this depends on the following word? + NOrd => ord -- a' chiad + } ; + n = Pl ; -- NB. singular for 1, 2, 20 + multiples of 20 and 100 (Lamb, p. 218) + } ; + +--------------------------------------------- +-- Pronoun + + +oper + LinPron : Type = { + 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 + } ; + +--------------------------------------------- +-- NP + +{- +In the RGL, a NP may come from a common noun, proper noun or pronoun. +Pronouns are the only ones that have an inherent person (nouns are almost always 3rd person! please give me counterexamples if you can think of any.) +So we can often say that NP's lincat is the same as Prons. + +NB. for later, when you want to make Pron into possessives, you may need more fields in LinPron than in LinNP. +That's why I'm copying over the definition below, instead of the neater `LinNP : Type = LinPron`. +-} + + +oper + LinNP : Type = { + art, -- to be replaced with a combo coming from Prep, if argument of PrepNP? see Lamb p. 225 + -- TODO: is that an issue when the allomorph has been chosen by an inherent param in CN? + -- does that param need to be kept in LinNP, and Prep need an inflection table from that param? + -- or do we have an exhaustive list of prepositions that merge, and we can make that into a param and put on a LHS here? + + s : Case => Str ; -- TODO: is lenition a separate dimension from case? + voc : Str ; + empty : Str ; -- to avoid metavariables + 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 ! NOM ++ np.s ! NOM ; + + emptyNP : LinNP = { + s,art = \\_ => [] ; + voc = [] ; + a = NotPron (DDef Sg Indef) ; -- we assume pronouns are definite by default. also it just matters for PrepNP. + empty = [] ; + } ; + +-------------------------------------------------------------------------------- +-- Det, Quant, Card, Ord + +param + 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 ; + +oper + agr2pagr : Agr -> PrepAgr = \a -> case a of { + NotPron (DDef n Definite) => PrepDefiniteArticle n ; + NotPron (DPoss n agr) => PrepPossPron agr ; + IsPron agr => PrepObjectPron agr ; + NotPron _ => PrepBase + } ; + + getQuantForm : Number -> Gender -> Case -> QuantForm = \n,g,c -> case of { + => QSg g c ; + => QPl 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)' + : QuantForm => Str ; + sp : Str ; -- quantifier as standalone, e.g. 'this (is nice)' + qt : QType ; -- Definite, Indefinite or Possessive + } ; + + LinDet : Type = { + s,s2 : Gender => Case => Str ; + sp : Str ; + dt : DType ; -- includes number + } ; + + LinNum : Type = { + s : Str ; + n : Number ; + } ; + + mkDet : (seven, teen : Str) -> Species -> Number -> LinDet = \aon, deug, defi, num -> { + s = \\_,_ => aon ; + s2 = \\_,_ => deug ; + sp = aon ; + dt = DDef num defi + } ; + +-- Allomorphs of the definite article + + AN, AN_L, NA, NAN : Str ; + AN = pre { + #vowel => "an t-" ++ BIND ; + #labial => "am" ; + _ => "an" } ; + + -- N.B. lenition comes from a different param, this is just a shorthand + AN_L = pre { + "b"|"m"|"p"|"c"|"g" => "a'" ; + "f" => "an" ; + "sl"|"sn"|"sr"| + "sa"|"sà"|"si"|"sì"| + "se"|"so"|"su" => "an t-" ++ BIND ; + _ => "an" } ; + NA = pre { + #vowel => "na h-" ++ BIND ; + _ => "na" } ; + NAN = pre { + #labial => "nam" ; + _ => "nan" } ; + + defArt : LinQuant = { + s = table { + QSg Masc (Nom _) => AN ; + QSg Masc _ => AN_L ; + QSg Fem Gen => NA ; + QSg Fem _ => AN_L ; + QPl Gen => NAN ; + QPl _ => NA + } ; + sp = "an" ; --- meaningless for DefArt + qt = QDef Def ; + } ; +-------------------------------------------------------------------------------- +-- Adpositions + +{- The main use of Prep is in the fun + + PrepNP : Prep -> NP -> Adv + + Despite the name of the RGL category, a 'Prep' can be a preposition, postposition, + or just an instruction to choose a particular case from the NP. + A language may use one, two or all these strategies. + +-} + +-- TODO: prepositions can merge with articles +-- Lamb, page 210: obair _sa_ cheàrdaich 'working _in+the_ forge' + +-- more on preps: Lamb, p.224 + +param + PronAgr = Sg1 | Sg2 | Sg3 Gender | Pl1 | Pl2 | Pl3 ; + -- PronType = Object | Possessive ; + Agr = NotPron DType | IsPron PronAgr ; + +oper + getDefi : Agr -> Species = \a -> case a of { + NotPron (DDef n d) => d ; + _ => Def + } ; + + LinPrep : Type = { + s : PrepAgr => Str ; -- bare: aig 'on', inflected: agam 'on me', agad 'on you', … + 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. + -- position : PreOrPost ; + + -- Some cause lenition—is that separate from case? + } ; + + 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 ; _ => []} ; + 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? + + mkLinPrep : (replacesObjPron : Bool) + -> (indef,defi : Case) + -> (objForms, possForms : PrepForms) + -> LinPrep = + \replaces,casIndef,casDef,objForms,possForms -> { + s = table { + PrepBase => aig ; + PrepDefiniteArticle Sg => aig + "✨" ++ BIND ++ AN ; -- TODO: merge with article!!!!!! + PrepDefiniteArticle Pl => aig + "✨" ++ BIND ++ NA ; -- TODO: merge with article!!!!!! + PrepObjectPron Sg1 => agam ; + PrepObjectPron Sg2 => agad ; + PrepObjectPron (Sg3 Masc) => aige ; + PrepObjectPron (Sg3 Fem) => aice ; + PrepObjectPron Pl1 => againn ; + PrepObjectPron Pl2 => agaibh ; + PrepObjectPron Pl3 => aca ; + PrepPossPron Sg1 => gam ; + PrepPossPron Sg2 => gad ; + PrepPossPron (Sg3 Masc) => ga_L ; + PrepPossPron (Sg3 Fem) => ga_H ; + PrepPossPron Pl1 => gar ; + PrepPossPron Pl2 => gur ; + PrepPossPron Pl3 => gan } ; + c2 = table {Indefinite => casIndef ; Definite => casDef} ; + replacesObjPron = replaces + } where { + aig = objForms.base ; agam = objForms.sg1 ; agad = objForms.sg2 ; + aige = objForms.sg3M ; aice = objForms.sg3F ; + againn = objForms.pl1 ; agaibh = objForms.pl2 ; aca = objForms.pl3 ; + gam = possForms.sg1 ; gad = possForms.sg2 ; + ga_L = possForms.sg3M ; ga_H = possForms.sg3F ; + gar = possForms.pl1 ; gur = possForms.pl2 ; gan = possForms.pl3 ; + } ; + + smartPrep : (objForms, possForms : PrepForms) -> LinPrep = + mkLinPrep True (Dat Lenited) (Dat Lenited) ; + + mkPrep = overload { + 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 : Case) + -> (objForms, possForms : PrepForms) -> LinPrep = mkLinPrep + } ; + + emptyPrep : LinPrep = { + s = \\_ => [] ; + c2 = \\_ => Dat Lenited ; + replacesObjPron = False + } ; + + 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"} + NoMutation ; + + airPrep : LinPrep = + mkPrep + {base="air"; sg1="orm"; sg2="ort"; sg3M="air"; sg3F="oirre"; pl1="oirrn"; pl2="oirbh"; pl3="orra"} + (invarPrepForms "air") + NoMutation ; + + 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"} + NoMutation ; + + àsPrep : LinPrep = + mkPrep + {base="às"; sg1="asam"; sg2="asad"; sg3M="às"; sg3F="aiste"; pl1="asainn"; pl2="asaibh"; pl3="asda"} + (invarPrepForms "às") + NoMutation ; + + 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"} + 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"} + Lenited ; + +{- eadarPrep : LinPrep = …-} +{- foPrep : LinPrep = …-} + guPrep : LinPrep = + mkPrep + True {-replaces object pronoun-} + (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"} + ; + +-------------------------------------------------------------------------------- +-- Adjectives +-- Lamb p. 220 basic morphology, degree +-- Lamb p. 246: predicative adjectives + +param + AForm = ASg Case Gender | APl ; + +oper + aform : Case -> Number -> Gender -> AForm = + \c,n,g -> case n of { + Sg => ASg c g ; + Pl => 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 ; + + LinAP : Type = {s: AForm => Str; voc: Gender => Str} ; -- 686 + +-------------------------------------------------------------------------------- +-- Verbs + +param + VForm = Indep | Dep ; + +oper + 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 = + \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 = LinV ; + + LinVPSlash : Type = LinVP ** { + c2 : LinPrep ; + } ; + +-------------------------------------------------------------------------------- +-- Cl, S + + -- Operations for clauses, sentences + LinCl : Type = { + subj : Str ; + pred : Str ; -- TODO: depend on Temp and Pol + } ; + + 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 new file mode 100644 index 00000000..9a81f2c8 --- /dev/null +++ b/src/gaelic/SentenceGla.gf @@ -0,0 +1,76 @@ + +concrete SentenceGla of Sentence = CatGla ** open + TenseX, ResGla, (AM=AdverbGla), Prelude in { + +flags optimize=all_subs ; + +lin + +--2 Clauses + + -- : NP -> VP -> Cl + PredVP np vp = { + subj = linNP np ; -- article and CN are discontinuous in NP! linNP just picks nominative unmutated. + pred = + -- table {something with tense+polarity => + vp.s + -- TODO: all of the VP's tense and polarity should be open here! + -- PredVP only decides the subject. + -- } + } ; + +{- + -- : SC -> VP -> Cl ; -- that she goes is good + PredSCVP sc vp = ; + +--2 Clauses missing object noun phrases + -- : NP -> VPSlash -> ClSlash ; + SlashVP = + + -- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today + AdvSlash cls adv = + + -- : Cl -> Prep -> ClSlash ; -- (with whom) he walks + SlashPrep cl prep = cl ** {c2 = prep} ; + +-- Imperatives + -- : VP -> Imp ; + ImpVP vp = + +--2 Embedded sentences + + -- : S -> SC ; + EmbedS s = + + -- : QS -> SC ; + EmbedQS qs = + + -- : VP -> SC ; + EmbedVP vp = +-} +--2 Sentences + + -- : Temp -> Pol -> Cl -> S ; + UseCl t p cl = { + s = cl.subj ++ t.s ++ p.s ++ cl.pred -- ! t.t ! p.p -- eventually + } ; +{- + -- : Temp -> Pol -> QCl -> QS ; + UseQCl t p cl = + + -- : Temp -> Pol -> RCl -> RS ; + UseRCl t p cl = + + -- AdvS : Adv -> S -> S ; -- then I will go home + AdvS adv s = + + -- ExtAdvS : Adv -> S -> S ; -- next week, I will go home + ExtAdvS adv s = + + -- : S -> Subj -> S -> S ; + SSubjS s1 subj s2 = + + -- : S -> RS -> S ; -- she sleeps, which is good + RelS sent rs = +-} +} diff --git a/src/gaelic/StructuralGla.gf b/src/gaelic/StructuralGla.gf new file mode 100644 index 00000000..5d47c498 --- /dev/null +++ b/src/gaelic/StructuralGla.gf @@ -0,0 +1,171 @@ +concrete StructuralGla of Structural = CatGla ** + open Prelude, ResGla, (Noun=NounGla), ParadigmsGla in { + +------- +-- Ad* +{- +lin almost_AdA = +lin almost_AdN = +lin at_least_AdN = +lin at_most_AdN = +lin so_AdA = +lin too_AdA = +lin very_AdA = + +lin as_CAdv = +lin less_CAdv = +lin more_CAdv = + +lin how8much_IAdv = +lin when_IAdv = + +lin how_IAdv = +lin where_IAdv = +lin why_IAdv = + +lin always_AdV = ss "" ; + +lin everywhere_Adv = ss "" ; +lin here7from_Adv = ss "" ; +lin here7to_Adv = ss "" ; +lin here_Adv = ss "" ; +lin quite_Adv = ss "" ; +lin somewhere_Adv = ss "" ; +lin there7from_Adv = ss "" ; +lin there7to_Adv = ss "" ; +lin there_Adv = ss "" ; + +-} +------- +-- Conj + +-- The lincat of Conj is Coordination.ConjunctionDistr ** {n:Number} +-- which means that there are two fields for the strings, and +-- n:Number which specifies the number of the resulting NP. + +lin and_Conj = {s1 = [] ; s2 = "and" ; n = Pl} ; +-- lin or_Conj = +-- lin if_then_Conj = +lin both7and_DConj = {s1 = "both" ; s2 = "and" ; n = Pl} ; +-- lin either7or_DConj = + +-- lin but_PConj = +-- lin otherwise_PConj = +-- lin therefore_PConj = + + +----------------- +-- *Det and Quant +{- +lin how8many_IDet = +lin every_Det = + +lin all_Predet = {s = ""} ; +lin not_Predet = { s = "" } ; +lin only_Predet = { s = "" } ; +lin most_Predet = {s = ""} ; + +lin few_Det = R.indefDet "" pl ; +lin many_Det = R.indefDet "" pl ; +lin much_Det = R.indefDet "" sg ; + +lin somePl_Det = +lin someSg_Det = + +lin no_Quant = +lin that_Quant = mkQuant "" ; +lin this_Quant = mkQuant "" ; +lin which_IQuant = mkQuant "" ; + +----- +-- NP + +lin somebody_NP = + + +lin everybody_NP = +lin everything_NP = +lin nobody_NP = +lin nothing_NP = +lin somebody_NP = +lin something_NP = + +-------} +-- Prep + +-- lin above_Prep = mkPrep "" ; +-- lin after_Prep = mkPrep "" ; +-- lin before_Prep = mkPrep "" ; +-- lin behind_Prep = mkPrep "" ; +-- lin between_Prep = = mkPrep "" ; +-- lin by8agent_Prep = mkPrep "" ; +-- lin by8means_Prep = mkPrep "" ; +-- lin during_Prep = mkPrep "" ; +-- lin except_Prep = mkPrep "" ; +lin for_Prep = ResGla.doPrep ; +lin from_Prep = ResGla.bhoPrep ; +-- lin in8front_Prep = mkPrep "" ; +lin in_Prep = ResGla.annPrep ; +lin on_Prep = ResGla.airPrep ; +-- lin part_Prep = mkPrep "" ; +-- lin possess_Prep = mkPrep "" ; +-- lin through_Prep = mkPrep "" ; +lin to_Prep = ResGla.guPrep ; +-- lin under_Prep = mkPrep "" ; +-- lin with_Prep = mkPrep "" ; +-- lin without_Prep = mkPrep "" ; + +------- +-- Pron + +-- Pronouns are closed class, no constructor in ParadigmsGla. +--lin it_Pron = +lin i_Pron = mkPron "mi" "mo^L" Sg1 ; +lin youPol_Pron = youPl_Pron ; +lin youSg_Pron = mkPron "tu" "do^L" Sg2 ; +lin he_Pron = mkPron "e" "a^L" (Sg3 Masc) ; +lin she_Pron = mkPron "i" "a^H" (Sg3 Fem) ; +lin we_Pron = mkPron "sinn" "àr^N" Pl1 ; +lin youPl_Pron = mkPron"sibh" "ùr^N" Pl2 ; +lin they_Pron = mkPron "iad" AN Pl3 ; +{- +lin whatPl_IP = +lin whatSg_IP = +lin whoPl_IP = +lin whoSg_IP = + +------- +-- Subj + +lin although_Subj = +lin because_Subj = +lin if_Subj = +lin that_Subj = +lin when_Subj = + + +------ +-- Utt + +lin language_title_Utt = ss "" ; +lin no_Utt = ss "" ; +lin yes_Utt = ss "" ; + + +------- +-- Verb + +lin have_V2 = + +lin can8know_VV = -- can (capacity) +lin can_VV = -- can (possibility) +lin must_VV = +lin want_VV = + +------ +-- Voc + +lin please_Voc = ss "" ; +-} + +} diff --git a/src/gaelic/SymbolGla.gf b/src/gaelic/SymbolGla.gf new file mode 100644 index 00000000..0878fe29 --- /dev/null +++ b/src/gaelic/SymbolGla.gf @@ -0,0 +1,73 @@ +--# -path=.:../abstract:../common:../prelude + +concrete SymbolGla of Symbol = CatGla ** + open Prelude, ParadigmsGla, ResGla, (Noun=NounGla) in { + +lin + + -- : Symb -> PN ; -- x + SymbPN i = mkPN_onRuntimeToken i.s ; + + -- : Int -> PN ; -- 27 + IntPN i = mkPN_onRuntimeToken i.s ; + + -- : Float -> PN ; -- 3.14159 + FloatPN i = mkPN_onRuntimeToken i.s ; + + -- : Card -> PN ; -- twelve [as proper name] + NumPN i = mkPN_onRuntimeToken (i.s ! NCard) ; + +lin +-- CNIntNP cn i = {} ; + + -- : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and y + CNSymbNP det cn xs = + let cnSymb : CN = cn ** {postmod = cn.postmod ++ xs.s} + in Noun.DetCN det cnSymb ; + + -- : CN -> Card -> NP ; -- level five ; level 5 + CNNumNP cn i = + let cnSymb : CN = cn ** {postmod = cn.postmod ++ i.s} + in Noun.MassNP cnSymb ; + + -- : Symb -> S ; + SymbS sy = sy ; + + -- : Symb -> Card ; + SymbNum sy = mkNumeral_onRuntimeToken sy.s ; + + -- : Symb -> Ord ; + SymbOrd sy = sy ; ---- TODO: nothing added to it. Lincat of Ord is just SS from the beginning. + + oper + -- To make Card or PN from a runtime argument, cannot use the single + operation. + -- See https://inariksit.github.io/gf/2018/08/28/gf-gotchas.html#unsupported-token-gluing + + mkNumeral_onRuntimeToken : Str -> LinNumeral = \str -> { + s = table { + NCard => str ; + NOrd => str ++ BIND ++ "th" + } ; + n = Pl ; -- NB. probably singular for number 1 + } ; + + mkPN_onRuntimeToken : Str -> LinPN = \str -> { + s = + -- table {_ => -- If lincat of PN changes so that it's an inflection table, uncomment this + str + -- } + ; + n = Sg ; + } ; + +lincat + Symb, [Symb] = SS ; + +lin + MkSymb s = s ; + + BaseSymb = infixSS "and" ; -- this comes between the last two ones + ConsSymb = infixSS "," ; + + +} diff --git a/src/gaelic/VerbGla.gf b/src/gaelic/VerbGla.gf new file mode 100644 index 00000000..b51fcc87 --- /dev/null +++ b/src/gaelic/VerbGla.gf @@ -0,0 +1,114 @@ +concrete VerbGla of Verb = CatGla ** open ResGla, AdverbGla, Prelude in { + + +lin + +----- +-- VP + -- : V -> VP + -- NB. assumes that lincat V = lincat VP + -- This will most likely change when you start working with VPs + UseV v = v ; + +{- + -- : V2 -> VP ; + PassV2 v2 = + + -- : VPSlash -> VP ; + ReflVP vps = + + -- : VV -> VP -> VP ; + ComplVV vv vp = + + -- : VS -> S -> VP ; + ComplVS vs s = + + -- : VQ -> QS -> VP ; + ComplVQ vq qs = + + -- : VA -> AP -> VP ; + ComplVA va ap = + + -- : Comp -> VP ; + UseComp comp = +-} +-------- +-- Slash +{- + -- : V2 -> VPSlash + SlashV2a v2 = + + -- : V3 -> NP -> VPSlash ; -- give it (to her) + Slash2V3 v3 dobj = + + -- : V3 -> NP -> VPSlash ; -- give (it) to her + Slash3V3 v3 iobj = + + SlashV2A v2 adj = + + -- : V2S -> S -> VPSlash ; -- answer (to him) that it is good + SlashV2S v2s s = + + -- : V2V -> VP -> VPSlash ; -- beg (her) to go + SlashV2V v2v vp = ; + + -- : V2Q -> QS -> VPSlash ; -- ask (him) who came + SlashV2Q v2q qs = ; + + -- : V2A -> AP -> VPSlash ; -- paint (it) red + SlashV2A v2a ap = ; + + + -- : VPSlash -> NP -> VP + -- Often VPSlash has a field called c2, which is used to pick right form of np complement + ComplSlash vps np = vps ** { + compl = np.s ! vps.c2 + } ; + + -- : VV -> VPSlash -> VPSlash ; + SlashVV vv vps = ComplVV vv vps ** { + } ; + + -- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy + SlashV2VNP v2v np vps = + + -- : VP -> Adv -> VP ; -- sleep here + AdvVP vp adv = + + -- : AdV -> VP -> VP ; -- always sleep + AdVVP adv vp = + + -- : VPSlash -> Adv -> VPSlash ; -- use (it) here + AdvVPSlash = insertAdv ; + + -- : VP -> Adv -> VP ; -- sleep , even though ... + ExtAdvVP vp adv = ; + + -- : AdV -> VPSlash -> VPSlash ; -- always use (it) + AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ; + + -- : VP -> Prep -> VPSlash ; -- live in (it) + VPSlashPrep vp prep = vp ** {c2 = prep} ; + + +--2 Complements to copula + +-- Adjectival phrases, noun phrases, and adverbs can be used. + + -- : AP -> Comp ; + CompAP ap = + + -- : CN -> Comp ; + CompCN cn = + + -- NP -> Comp ; + CompNP np = + + -- : Adv -> Comp ; + CompAdv adv = + + -- : VP -- Copula alone; + UseCopula = +-} + +} diff --git a/src/german/CatGer.gf b/src/german/CatGer.gf index be5a5b3a..48db2d00 100644 --- a/src/german/CatGer.gf +++ b/src/german/CatGer.gf @@ -26,10 +26,11 @@ concrete CatGer of Cat = -- Question QCl = {s : Mood => ResGer.Tense => Anteriority => Polarity => QForm => Str} ; - IP = {s : Case => Str ; n : Number} ; + + IP = {s : Case => Str ; a : GenNum ; isPron : Bool} ; IComp = {s : Agr => Str ; ext : Str} ; - IDet = {s : Gender => Case => Str ; n : Number} ; - IQuant = {s : GenNum => Case => Str} ; + IDet = {s : Gender => Case => Str ; n : Number ; a : Adjf} ; + IQuant = {s : GenNum => Case => Str ; a : Adjf} ; -- Relative @@ -40,7 +41,7 @@ concrete CatGer of Cat = VP = ResGer.VP ; VPSlash = ResGer.VPSlash ; - Comp = {s : Agr => Str ; ext : Str} ; + Comp = {s : Agr => Str ; ext : Number => Str} ; -- Adjective (HL 7/23: we need c : Agr => Str * Str to handle reflexive objects, cf ReflA2) @@ -114,7 +115,7 @@ concrete CatGer of Cat = GN = {s : Case => Str; g : Sex} ; SN = {s : Sex => Case => Str} ; PN = {s : Case => Str; g : Gender; n : Number} ; - LN = {s : Adjf => Case => Str; hasArt : Bool; g : Gender; n : Number} ; + LN = {s : Adjf => Case => Str; hasDefArt : Bool; g : Gender; n : Number} ; -- tense with possibility to choose conjunctive forms diff --git a/src/german/ExtendGer.gf b/src/german/ExtendGer.gf index e6108ac1..23f53bd1 100644 --- a/src/german/ExtendGer.gf +++ b/src/german/ExtendGer.gf @@ -3,14 +3,14 @@ concrete ExtendGer of Extend = CatGer ** ExtendFunctor - [ -- remove the default implementations of: - GenNP, GenRP, EmptyRelSlash, + GenNP, GenRP, EmptyRelSlash, GenIP, GenModIP, VPS, ListVPS, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, VPI, ListVPI, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV, ICompAP, IAdvAdv, CompIQuant, PrepCN, PastPartAP, PastPartAgentAP, PassVPSlash, PassAgentVPSlash, AdvIsNP, - RNP, RNPList, Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP, Conj_RNP, + RNP, RNPList, Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP, ConjRNP, ReflRNP, ReflPron, ReflPoss, PredetRNP, AdvRNP, ReflA2RNP, PossPronRNP, CompoundN, DetNPMasc, DetNPFem, UseDAP, UseDAPMasc, UseDAPFem, CardCNCard, @@ -37,11 +37,12 @@ concrete ExtendGer of Extend = } ; GenRP nu cn = { - s = \\gn,c => relPron ! gn ! Gen ++ cn.s ! Weak ! nu.n ! c ; + s = \\gn,c => relPron ! gn ! Gen ++ cn.s ! Strong ! nu.n ! c ; a = RAg nu.n P3 } ; - + GenIP ip = {s = \\gn,c => ip.s!Gen ; a = Strong} ; + GenModIP num ip cn = IdetCN (IdetQuant (GenIP ip) num) cn ; EmptyRelSlash slash = { s = \\m,t,a,p,gn => diff --git a/src/german/ExtraGer.gf b/src/german/ExtraGer.gf index e7586f5e..8de75a86 100644 --- a/src/german/ExtraGer.gf +++ b/src/german/ExtraGer.gf @@ -291,7 +291,7 @@ concrete ExtraGer of ExtraGerAbs = CatGer ** lin FocObj np cl = - let n = appPrepNP cl.c2 np in mkFoc n cl ; + let n = appPrepNP cl.c2 np in mkFoc n (lin Cl cl) ; FocAdv adv cl = mkFoc adv.s cl ; @@ -304,7 +304,7 @@ concrete ExtraGer of ExtraGerAbs = CatGer ** -- "froh ist sie dass er da ist" -- "stolz ist sie auf ihn" subj = mkSubject np vp.c1 ; - cl = mkClause subj.s subj.a vp + cl = lin Cl (mkClause subj.s subj.a vp) in mkFoc adj cl ; UseFoc t p f = {s = t.s ++ p.s ++ f.s ! t.m ! t.t ! t.a ! p.p} ; @@ -385,6 +385,4 @@ concrete ExtraGer of ExtraGerAbs = CatGer ** -- this function is not entirely satisfactory as largely -- though not entirely duplicating mkClause in ResGer - - } diff --git a/src/german/IrregGer.gf b/src/german/IrregGer.gf index 74c4c5bd..0ed3f2e2 100644 --- a/src/german/IrregGer.gf +++ b/src/german/IrregGer.gf @@ -96,13 +96,13 @@ in { lin laden_V = irregV "laden" "lädt" "lud" "lüde" "geladen" ; lin lassen_V = irregV "lassen" "lässt" "ließ" "ließe" "gelassen" ; lin laufen_V = irregV "laufen" "läuft" "lief" "liefe" "gelaufen" ; - lin leiden_V = irregV "leiden" "leidt" "litt" "litte" "gelitten" ; + lin leiden_V = irregV "leiden" "leidet" "litt" "litte" "gelitten" ; lin leihen_V = irregV "leihen" "leiht" "lieh" "liehe" "geliehen" ; lin lesen_V = irregV "lesen" "liest" "las" "läse" "gelesen" ; lin liegen_V = irregV "liegen" "liegt" "lag" "läge" "gelegen" ; lin lügen_V = irregV "lügen" "lügt" "log" "löge" "gelogen" ; lin mahlen_V = irregV "mahlen" "mahlt" "mahlte" "mahlte" "gemahlen" ; - lin meiden_V = irregV "meiden" "meidt" "mied" "miede" "gemieden" ; + lin meiden_V = irregV "meiden" "meidet" "mied" "miede" "gemieden" ; lin melken_V = irregV "melken" "milkt" "molk" "mölke" "gemolken" ; lin messen_V = irregV "messen" "misst" "maß" "mäße" "gemessen" ; lin mißlingen_V = irregV "misslingen" "misslingt" "misslang" "misslungen" "misslänge" ; -- old spelling @@ -131,14 +131,14 @@ in { lin saufen_V = irregV "saufen" "säuft" "soff" "söffe" "gesoffen" ; lin saugen_V = irregV "saugen" "saugt" "sog" "soge" "gesogen" ; lin schaffen_V = irregV "schaffen" "schafft" "schuf" "schüfe" "geschaffen" ; - lin scheiden_V = irregV "scheiden" "scheidt" "schied" "schiede" "geschieden" ; + lin scheiden_V = irregV "scheiden" "scheidet" "schied" "schiede" "geschieden" ; lin scheinen_V = irregV "scheinen" "scheint" "schien" "schiene" "geschienen" ; lin scheißen_V = irregV "scheißen" "scheißt" "schiss" "schisse" "geschissen" ; lin schelten_V = irregV "schelten" "schilt" "schalt" "schölte" "gescholten" ; lin scheren_V = irregV "scheren" "schert" "schor" "schöre" "geschoren" ; lin schieben_V = irregV "schieben" "schiebt" "schob" "schöbe" "geschoben" ; lin schießen_V = irregV "schießen" "schießt" "schoss" "schösse" "geschossen" ; - lin schinden_V = irregV "schinden" "schindt" "schund" "schunde" "geschunden" ; + lin schinden_V = irregV "schinden" "schindet" "schund" "schunde" "geschunden" ; lin schlafen_V = irregV "schlafen" "schläft" "schlief" "schliefe" "geschlafen" ; lin schlagen_V = irregV "schlagen" "schlägt" "schlug" "schlüge" "geschlagen" ; lin schleichen_V = irregV "schleichen" "schleicht" "schlich" "schliche" "geschlichen" ; @@ -156,7 +156,7 @@ in { lin schwellen_V = irregV "schwellen" "schwillt" "schwoll" "schwölle" "geschwollen" ; lin schwimmen_V = irregV "schwimmen" "schwimmt" "schwamm" "schwämme" "geschwommen" ; lin schwimmen_o_V = irregV "schwimmen" "schwimmt" "schwamm" "schwömme" "geschwommen" ; - lin schwinden_V = irregV "schwinden" "schwindt" "schwand" "schwände" "geschwunden" ; + lin schwinden_V = irregV "schwinden" "schwindet" "schwand" "schwände" "geschwunden" ; lin schwingen_V = irregV "schwingen" "schwingt" "schwang" "schwänge" "geschwungen" ; lin schwören_V = irregV "schwören" "schwört" "schwor" "schwüre" "geschworen" ; lin sehen_V = irregV "sehen" "sieht" "sah" "sähe" "gesehen" ; @@ -200,7 +200,7 @@ in { "tun" "tue" "tust" "tut" "tut" "tue" "tat" "tatest" "taten" "tatet" "täte" "getan" [] M.VHaben) ; - lin verderben_V = irregV "verderben" "verdirbt" "verdarb" "verdarbe" "verdorben" ; + lin verderben_V = irregV "verderben" "verdirbt" "verdarb" "verdürbe" "verdorben" ; lin vergessen_V = irregV "vergessen" "vergisst" "vergaß" "vergäße" "vergessen" ; lin verlieren_V = irregV "verlieren" "verliert" "verlor" "verlöre" "verloren" ; lin wachsen_V = irregV "wachsen" "wächst" "wuchs" "wüchse" "gewachsen" ; @@ -209,14 +209,14 @@ in { lin weben_V = irregV "weben" "webt" "wob" "wöbe" "gewoben" ; lin weichen_V = irregV "weichen" "weicht" "wich" "wiche" "gewichen" ; lin weisen_V = irregV "weisen" "weist" "wies" "wiese" "gewiesen" ; - lin wenden_V = irregV "wenden" "wendt" "wandte" "wandte" "gewandt" ; + lin wenden_V = irregV "wenden" "wendet" "wandte" "wandte" "gewandt" ; lin werben_V = irregV "werben" "wirbt" "warb" "würbe" "geworben" ; lin werden_V = lin V (M.mkV "werden" "werde" "wirst" "wird" "werdet" "werd" "wurde" "wurdest" "wurden" "wurdet" "würde" "geworden" [] M.VSein) ; lin werfen_V = irregV "werfen" "wirft" "warf" "würfe" "geworfen" ; lin wiegen_V = irregV "wiegen" "wiegt" "wog" "wöge" "gewogen" ; - lin winden_V = irregV "winden" "windt" "wand" "wände" "gewunden" ; + lin winden_V = irregV "winden" "windet" "wand" "wände" "gewunden" ; lin wissen_V = lin V (M.mkV "wissen" "weiß" "weißt" "weiß" "wisst" "wisse" "wusste" "wusstest" "wussten" "wusstet" "wüsste" "gewusst" [] M.VHaben) ; diff --git a/src/german/LexiconGer.gf b/src/german/LexiconGer.gf index 8c2714a7..2e2e717b 100644 --- a/src/german/LexiconGer.gf +++ b/src/german/LexiconGer.gf @@ -2,25 +2,26 @@ -- work by Aarne Ranta, Andreas Priesnitz, and Henning Thielemann. -- a few corrections by Hans Leiß, and using the better IrregGer +-- sg/pl t = singulare/plurale tantum concrete LexiconGer of Lexicon = CatGer ** open Prelude, ParadigmsGer, (Mo = MorphoGer), (Irreg = IrregGer) in { flags - coding=utf8 ; + coding=utf8 ; optimize=all_subs ; lin add_V3 = dirV3 (prefixV "hinzu" (regV "fügen")) zu_Prep ; airplane_N = mkN "Flugzeug" "Flugzeuge" neuter ; - alas_Interj = {s = "ach"} ; + alas_Interj = ss "leider" ; -- {s = "ach"} ; already_Adv = mkAdv "schon" ; answer_V2S = mkV2S (regV "antworten") datPrep ; apartment_N = mkN "Wohnung" ; apple_N = reg2N "Apfel" "Äpfel" masculine ; art_N = reg2N "Kunst" "Künste" feminine ; ask_V2Q = mkV2Q (regV "fragen") accPrep ; - baby_N = reg2N "Baby" "Babies" neuter ; ---- + baby_N = reg2N "Baby" "Babies" neuter ; ---- "Kleinkind" bad_A = regA "schlecht" ; bank_N = reg2N "Bank" "Banken" feminine ; beautiful_A = regA "schön" ; @@ -35,21 +36,21 @@ lin boat_N = reg2N "Boot" "Boote" neuter ; book_N = reg2N "Buch" "Bücher" neuter ; boot_N = reg2N "Stiefel" "Stiefel" masculine ; - boss_N = reg2N "Chef" "Chefs" masculine ; ---- + boss_N = reg2N "Chef" "Chefs" masculine ; ---- "Vorgesetzte" boy_N = reg2N "Junge" "Jungen" masculine ; bread_N = reg2N "Brot" "Brote" neuter ; break_V2 = dirV2 (fixprefixV "zer" Irreg.schlagen_V) ; broad_A = regA "breit" ; brother_N2 = mkN2 (reg2N "Bruder" "Brüder" masculine) von_Prep ; brown_A = regA "braun" ; - butter_N = reg2N "Butter" "Butter" feminine ; ---- infl + butter_N = reg2N "Butter" "Butter" feminine ; ---- sg t buy_V2 = dirV2 (regV "kaufen") ; camera_N = reg2N "Kamera" "Kameras" feminine ; cap_N = mkN "Mütze" ; car_N = mkN "Auto" "Autos" neuter | mkN "Wagen" "Wagen" masculine ; carpet_N = mkN "Teppich" ; cat_N = mkN "Katze" ; - ceiling_N = reg2N "Dach" "Dächer" neuter ; + ceiling_N = mkN "Zimmerdecke" ; chair_N = reg2N "Stuhl" "Stühle" masculine ; cheese_N = mkN "Käse" "Käse" masculine ; child_N = reg2N "Kind" "Kinder" neuter ; @@ -58,12 +59,12 @@ lin clean_A = regA "rein" ; clever_A = mk3A "klug" "klüger" "klügste" ; close_V2 = dirV2 Irreg.schließen_V ; - coat_N = mkN "Jacke" | mkN "Mantel" "Mantel" masculine; + coat_N = mkN "Jacke" | mkN "Mantel" "Mäntel" masculine; cold_A = mk3A "kalt" "kälter" "kälteste" ; come_V = seinV (mk6V "kommen" "kommt" "komm" "kam" "käme" "gekommen") ; computer_N = reg2N "Rechner" "Rechner" masculine ; country_N = reg2N "Land" "Länder" neuter ; - cousin_N = reg2N "Vetter" "Vetter" masculine ; --- Kusine + cousin_N = reg2N "Vetter" "Vettern" masculine ; --- "Kusine" feminine cow_N = reg2N "Kuh" "Kühe" feminine ; die_V = seinV Irreg.sterben_V | seinV (prefixV "um" Irreg.kommen_V); distance_N3 = mkN3 (mkN "Entfernung") von_Prep zu_Prep ; @@ -91,7 +92,7 @@ lin garden_N = reg2N "Garten" "Gärten" masculine ; girl_N = reg2N "Mädchen" "Mädchen" neuter ; glove_N = mkN "Handschuh" ; - gold_N = reg2N "Gold" "Golde" neuter ; ---- infl + gold_N = reg2N "Gold" "Golde" neuter ; ---- sg t good_A = mk3A "gut" "besser" "beste" ; go_V = seinV Irreg.gehen_V ; green_A = regA "grün" ; @@ -112,7 +113,7 @@ lin know_V2 = dirV2 Irreg.kennen_V ; know_VQ = mkVQ Irreg.wissen_V ; know_VS = mkVS Irreg.wissen_V ; - lake_N = reg2N "See" "Seen" masculine ; --- infl + lake_N = mkN "See" "See" "See" "Sees" "Seen" "Seen" masculine ; lamp_N = mkN "Lampe"; learn_V2 = dirV2 (regV "lernen") ; leather_N = reg2N "Leder" "Leder" neuter ; @@ -126,8 +127,8 @@ lin love_V2 = dirV2 (regV "lieben") ; man_N = reg2N "Mann" "Männer" masculine ; married_A2 = mkA2 (regA "verheiratet") (mkPrep "mit" dative) ; - meat_N = reg2N "Fleisch" "Fleische" neuter ; ---- infl - milk_N = reg2N "Milch" "Milche" feminine ; ---- infl + meat_N = reg2N "Fleisch" "Fleische" neuter ; ---- sg t + milk_N = reg2N "Milch" "Milche" feminine ; ---- sg t moon_N = mkN "Mond" ; mother_N2 = mkN2 (reg2N "Mutter" "Mütter" feminine) von_Prep ; mountain_N = mkN "Berg" ; @@ -144,9 +145,10 @@ lin paper_N = reg2N "Papier" "Papiere" neuter ; paris_PN = mkPN "Paris" neuter ; peace_N = mk6N "Friede" "Frieden" "Frieden" "Friedens" "Frieden" "Frieden" masculine ; - pen_N = mkN "Bleistift" ; ---- + pen_N = mkN "Bleistift" ; planet_N = reg2N "Planet" "Planeten" masculine ; - plastic_N = reg2N "Plastik" "Plastiken" feminine ; ---- + -- plastic_N = reg2N "Plastik" "Plastiken" feminine ; ---- + plastic_N = regN "Kunststoff" ; play_V2 = dirV2 (regV "spielen") ; policeman_N = reg2N "Polizist" "Polizisten" masculine ; priest_N = mkN "Priester" ; @@ -160,7 +162,8 @@ lin religion_N = mkN "Religion" ; restaurant_N = reg2N "Restaurant" "Restaurants" neuter ; river_N = reg2N "Fluß" "Flüsse" masculine ; - rock_N = mkN "Stein" ; + -- rock_N = mkN "Stein" ; -- cf. stone_N = mkN "Stein" ; + rock_N = mkN "Felsen" ; -- "Felsbrocken"; infl "Fels" ; HL 6/17 roof_N = reg2N "Dach" "Dächer" neuter ; rubber_N = reg2N "Gummi" "Gummis" neuter ; run_V = seinV Irreg.laufen_V ; @@ -174,11 +177,11 @@ lin send_V3 = mkV3 (regV "schicken") ; -- Ger mkV3 v = Ger: mkV3 v accPrep datPrep sheep_N = reg2N "Schaf" "Schafe" neuter ; ship_N = reg2N "Schiff" "Schiffe" neuter ; - shirt_N = reg2N "Hemd" "Hemden" neuter ; ---- infl + shirt_N = mkN "Hemd" "Hemd" "Hemd" "Hemds" "Hemden" "Hemden" neuter ; shoe_N = mkN "Schuh" ; shop_N = reg2N "Laden" "Läden" masculine ; short_A = mk3A "kurz" "kürzer" "kürzeste" ; - silver_N = reg2N "Silber" "Silber" neuter ; ---- infl + silver_N = reg2N "Silber" "Silber" neuter ; ---- sg t sister_N = reg2N "Schwester" "Schwestern" feminine ; sleep_V = Irreg.schlafen_V ; small_A = regA "klein" ; @@ -200,7 +203,7 @@ lin talk_V3 = mkV3 (regV "reden") (mkPrep "mit" dative) (mkPrep "über" accusative) ; -- 6/2019 teacher_N = reg2N "Lehrer" "Lehrer" masculine ; teach_V2 = dirV2 (no_geV (regV "unterrichten")) ; - television_N = reg2N "Fernsehen" "Fernsehen" neuter; + television_N = reg2N "Fernsehen" "Fernsehen" neuter; ---- sg t thick_A = regA "dick" ; thin_A = regA "dünn" ; train_N = reg2N "Zug" "Züge" masculine ; @@ -251,7 +254,7 @@ lin back_N = reg2N "Rücken" "Rücken" masculine ; bark_N = mkN "Rinde" ; belly_N = reg2N "Bauch" "Bäuche" masculine ; - blood_N = mkN "Blut" "Blute" neuter ; + blood_N = mkN "Blut" "Blute" neuter ; ---- sg t bone_N = reg2N "Knochen" "Knochen" masculine ; breast_N = reg2N "Brust" "Brüste" feminine ; cloud_N = mkN "Wolke" ; @@ -261,7 +264,7 @@ lin earth_N = mkN "Erde" ; egg_N = mkN "Ei" "Eier" neuter ; eye_N = mkN "Auge" "Augen" neuter; - fat_N = mkN "Fett" "Fetter" neuter ; + fat_N = mkN "Fett" "Fette" neuter ; feather_N = mkN "Feder" "Federn" feminine ; fingernail_N = reg2N "Fingernagel" "Fingernägel" masculine ; fire_N = mkN "Feuer" "Feuer" neuter ; @@ -270,7 +273,7 @@ lin foot_N = reg2N "Fuß" "Füße" masculine ; forest_N = reg2N "Wald" "Wälder" masculine ; grass_N = mkN "Gras" "Gräser" neuter ; - guts_N = mkN "Eingeweide" ; + guts_N = mkN "Eingeweide" "Eingeweide" neuter ; ---- pl t ? hair_N = mkN "Haar" "Haare" neuter ; hand_N = mkN "Hand" "Hände" feminine ; head_N = mkN "Kopf" "Köpfe" masculine ; @@ -295,11 +298,11 @@ lin rope_N = mkN "Seil" "Seile" neuter ; salt_N = mkN "Salz" "Salze" neuter ; sand_N = mkN "Sand" ; - seed_N = mkN "Same" ; + seed_N = mkN "Same" "Samen" masculine ; skin_N = mkN "Haut" "Häute" feminine ; sky_N = mkN "Himmel" ; smoke_N = mkN "Rauch" ; - snow_N = mkN "Schnee" "Schneen" masculine ; ---- pl + snow_N = mkN "Schnee" "Schneen" masculine ; ---- sg t stick_N = mkN "Stock" "Stöcke" masculine ; tail_N = mkN "Schwanz" "Schwänze" masculine ; tongue_N = mkN "Zunge" ; diff --git a/src/german/MakeStructuralGer.gf b/src/german/MakeStructuralGer.gf index 07a13afb..1b306da5 100644 --- a/src/german/MakeStructuralGer.gf +++ b/src/german/MakeStructuralGer.gf @@ -8,7 +8,7 @@ oper mkSubj : Str -> Subj = \x -> {s = x ; lock_Subj = <>} ; mkIQuant : Str -> IQuant = \s -> - {s = \\_,_ => s ; lock_IQuant = <>} ; + {s = \\_,_ => s ; a = Strong ; lock_IQuant = <>} ; mkPredet = overload { mkPredet : A -> Predet = \a -> diff --git a/src/german/MorphoGer.gf b/src/german/MorphoGer.gf index 4b4fa667..1dd5ab3a 100644 --- a/src/german/MorphoGer.gf +++ b/src/german/MorphoGer.gf @@ -77,6 +77,18 @@ oper _ => Predef.tk 2 v } ; + stemVerbImpSg : Str -> Str -> Str = \inf,pres3Sg -> + let stem = stemVerb inf ; -- vergeb.en, piss.en + stemI = init pres3Sg -- vergib.t , piß.t + in case of { + <_ + ("e"|"i") + #nonvowels, + _ + ("i"|"ie") + #nonvowels> => stemI ; -- vergib , piß + _ => stem } ; -- HL 7/17 (always the final vowel?) + + nonvowels : pattern Str = + #(("p"|"b"|"f"|"t"|"d"|"v"|"k"|"g"|"c"|"h"|"j" + |"l"|"r"|"m"|"n"|"s"|"x"|"q"|"z"|"s"|"ß")*) ; + -- For $Numeral$. LinDigit = {s : DForm => CardOrd => Str} ; diff --git a/src/german/NamesGer.gf b/src/german/NamesGer.gf index 43c17cda..6ad21c84 100644 --- a/src/german/NamesGer.gf +++ b/src/german/NamesGer.gf @@ -37,7 +37,7 @@ lin FullName gn sn = { -- UseLN : LN -> NP ; lin UseLN ln = { - s = \\b,c => case ln.hasArt of { + s = \\b,c => case ln.hasDefArt of { True => case b of { True => [] ; -- defart dropped False => artDef ! (gennum ln.g ln.n) ! c @@ -61,7 +61,7 @@ lin PlainLN ln = { -- InLN : LN -> Adv ; lin InLN ln = { s = appPrepNP P.inDat_Prep { - s = \\b,c => case ln.hasArt of { + s = \\b,c => case ln.hasDefArt of { True => case b of { True => [] ; -- defart dropped False => artDef ! (gennum ln.g ln.n) ! c diff --git a/src/german/ParadigmsGer.gf b/src/german/ParadigmsGer.gf index 7493d326..5e50ad18 100644 --- a/src/german/ParadigmsGer.gf +++ b/src/german/ParadigmsGer.gf @@ -1,4 +1,4 @@ ---# -path=.:../common:../abstract:../../prelude +--# -path=.:../common:../abstract:../prelude: --1 German Lexical Paradigms -- @@ -174,15 +174,15 @@ mkN : overload { mkLN : (nom,acc,dat,gen : Str) -> Gender -> LN = \nom,acc,dat,gen,g -> lin LN {s = \\a => table {Nom => nom ; Acc => acc ; Dat => dat ; Gen => gen} ; g = g ; n = Sg ; - hasArt = False} + hasDefArt = False} } ; - defLN : LN -> LN = \n -> n ** {hasArt = True} ; + defLN : LN -> LN = \n -> n ** {hasDefArt = True} ; mk2LN : (karolus, karoli : Str) -> Gender -> LN = \karolus, karoli, g -> lin LN {s = \\a => table {Gen => karoli ; _ => karolus} ; g = g ; n = Sg ; - hasArt = False} ; + hasDefArt = False} ; regLN : (horst : Str) -> Gender -> LN = \horst, g -> mk2LN horst (ifTok Tok (Predef.dp 1 horst) "s" horst (horst + "s")) g ; @@ -224,7 +224,7 @@ mkN : overload { -- Adverbs are formed from strings. mkAdv : Str -> Adv ; -- adverbs have just one form anyway - + mkIAdv : Str -> IAdv ; --2 Prepositions @@ -576,6 +576,7 @@ mkV2 : overload { mkA2 = \a,p -> a ** {c2 = p ; lock_A2 = <>} ; mkAdv s = {s = s ; lock_Adv = <>} ; + mkIAdv s = {s = s ; lock_IAdv = <>} ; mkPrep = overload { mkPrep : Str -> Case -> Prep = \s,c -> @@ -633,7 +634,7 @@ mkV2 : overload { irregV singen singt sang saenge gesungen = let - sing = stemVerb singen ; + sing = stemVerbImpSg singen singt -- geben gibt => gib, HL 7/17 in mk6V singen singt sing sang saenge gesungen ; diff --git a/src/german/QuestionGer.gf b/src/german/QuestionGer.gf index 942a59ec..f5533e47 100644 --- a/src/german/QuestionGer.gf +++ b/src/german/QuestionGer.gf @@ -1,4 +1,4 @@ -concrete QuestionGer of Question = CatGer ** open ResGer in { +concrete QuestionGer of Question = CatGer ** open ResGer, Prelude in { flags optimize=all_subs ; @@ -17,7 +17,7 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { s = \\m,t,a,p => let who = appPrep vp.c1 ip.s ; - cl = (mkClause who (agrP3 ip.n) vp).s ! m ! t ! a ! p + cl = (mkClause who (agrGenNum ip.a) vp).s ! m ! t ! a ! p in table { QDir => cl ! Main ; QIndir => cl ! Sub @@ -36,8 +36,8 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { } ; QuestIAdv iadv cl = { - s = \\m,t,a,p => - let + s = \\m,t,a,p => + let cls = cl.s ! m ! t ! a ! p ; why = iadv.s in table { @@ -47,8 +47,8 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { } ; QuestIComp icomp np = { - s = \\m,t,a,p => - let + s = \\m,t,a,p => + let vp = predV sein_V ** {ext = icomp.ext}; subj = mkSubject np vp.c1 ; cls = (mkClause subj.s subj.a vp).s ! m ! t ! a ! p ; @@ -60,12 +60,13 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { } ; PrepIP p ip = { - s = appPrep p ip.s ; + s = appPrep p ip.s -- todo: mit was => womit ; an was => woran etc. } ; AdvIP ip adv = { s = \\c => ip.s ! c ++ adv.s ; - n = ip.n + a = ip.a ; + isPron = False } ; IdetCN idet cn = @@ -73,8 +74,9 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { g = cn.g ; n = idet.n in { - s = \\c => idet.s ! g ! c ++ cn.s ! Weak ! n ! c ; - n = n + s = \\c => idet.s ! g ! c ++ cn.s ! idet.a ! n ! c ++ cn.adv ++ cn.rc ! n ++ cn.ext ; + a = case n of {Sg => GSg g ; _ => GPl} ; + isPron = False } ; IdetIP idet = @@ -82,16 +84,19 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { g = Neutr ; ---- n = idet.n in { - s = idet.s ! g ; - n = n + s = idet.s ! g ; + a = case n of {Sg => GSg g ; _ => GPl} ; + isPron = False ; } ; - IdetQuant idet num = + IdetQuant iquant num = let - n = num.n + n = num.n ; + a = iquant.a in { - s = \\g,c => idet.s ! (gennum g n) ! c ++ num.s ! AMod (gennum g n) c ; - n = n + s = \\g,c => let gn = gennum g n in iquant.s ! gn ! c ++ num.s ! agrAdj a gn c ; + n = n ; + a = a } ; AdvIAdv i a = {s = i.s ++ a.s} ; @@ -100,5 +105,36 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { CompIP ip = {s = \\_ => ip.s ! Nom ; ext = "" } ; + -- QVP (added 9/2025, HL) + lincat + QVP = ResGer.VP ; + + linref + QVP = \vp -> useInfVP False vp ; + + lin + ComplSlashIP vps ip = -- just as ComplSlash : VPSlash -> NP -> VP + let np = lin NP {s = table Bool {_ => ip.s} ; + a = agrGenNum ip.a ; + w = WLight ; -- guessed + rc,ext = []} ; + vp = case vps.objCtrl of { True => objAgr np vps ; _ => vps } + ** { c2 = vps.c2 ; objCtrl = vps.objCtrl } ; + in insertObjNP np vps.c2 vp ; + + AdvQVP vp iadv = insertAdv iadv.s vp ; + AddAdvQVP qvp iadv = insertAdv iadv.s qvp ; + + QuestQVP ip qvp = { -- just as QuestVP, with qvp as vp + s = \\m,t,a,p => + let + who = appPrep qvp.c1 ip.s ; + cl = (mkClause who (agrGenNum ip.a) qvp).s ! m ! t ! a ! p + in table { + QDir => cl ! Main ; + QIndir => cl ! Sub + } + } ; + } diff --git a/src/german/RelativeGer.gf b/src/german/RelativeGer.gf index 76f03f3c..34edfe00 100644 --- a/src/german/RelativeGer.gf +++ b/src/german/RelativeGer.gf @@ -18,9 +18,10 @@ concrete RelativeGer of Relative = CatGer ** open ResGer, Prelude in { } ; agr = case rp.a of { RNoAg => agrP3 (numGenNum gn) ; - RAg n p => case n of {Sg => AgSgP3 Neutr ; Pl => AgPl p} - } ; - cl = mkClause (rp.s ! rgn ! Nom) agr vp + RAg Sg p => AgSgP3 Neutr ; + RAg Pl p => AgPl p + } ; -- subject may be non-nom, e.g. an dem gezweifelt wird + cl = mkClause (appPrep vp.c1 (rp.s ! rgn)) agr vp in cl.s ! m ! t ! ant ! b ! Sub ; c = Nom diff --git a/src/german/ResGer.gf b/src/german/ResGer.gf index 8336d0c6..22f5c143 100644 --- a/src/german/ResGer.gf +++ b/src/german/ResGer.gf @@ -181,6 +181,9 @@ resource ResGer = ParamX ** open Prelude in { genGenNum : GenNum -> Gender = \gn -> case gn of {GSg g => g ; GPl => Masc} ; + agrGenNum : GenNum -> Agr = \gn -> + case gn of {GSg g => AgSgP3 g ; _ => AgPl P3} ; + -- Used in $NounGer$. agrAdj : Adjf -> GenNum -> Case -> AForm = \a,gn,c -> diff --git a/src/german/StructuralGer.gf b/src/german/StructuralGer.gf index e54a65dd..75ac69eb 100644 --- a/src/german/StructuralGer.gf +++ b/src/german/StructuralGer.gf @@ -50,7 +50,7 @@ concrete StructuralGer of Structural = CatGer ** here_Adv = ss "hier" ; how_IAdv = ss "wie" ; how8much_IAdv = ss "wieviel" ; - how8many_IDet = {s = \\g,c => "wie viel" + detEnding ! (gennum g Pl) ! c ; n = Pl} ; + how8many_IDet = {s = \\g,c => "wie viel" + detEnding ! (gennum g Pl) ! c ; n = Pl ; a = Strong} ; if_Subj = ss "wenn" ; --- no variants in the RGL! | ss "falls" ; in8front_Prep = mkPrep "vor" P.dative ; i_Pron = mkPronPers "ich" "mich" "mir" "meiner" "mein" Masc Sg P1 ; @@ -74,8 +74,8 @@ concrete StructuralGer of Structural = CatGer ** sp = \\_,g,c => "viel" + detEnding ! (gennum g Sg) ! c ; ---- (GSg _ Sg) ! Gen ? n = Sg ; a = Strong ; isDef = False ; hasDefArt = False} ; must_VV = auxVV - (mkV - "müssen" "muss" "musst" "muss" "müsst" "müss" + (mkV -- modal verb, has no imperative forms "müsse,müsst" HL 12/2024 + "müssen" "muss" "musst" "muss" "müsst" "müsse" "musste" "musstest" "mussten" "musstet" "müsste" "gemusst" [] VHaben) ; @@ -123,22 +123,26 @@ concrete StructuralGer of Structural = CatGer ** under_Prep = mkPrep "unter" P.dative ; very_AdA = ss "sehr" ; want_VV = auxVV - (mkV - "wollen" "will" "willst" "will" "wollt" "woll" + (mkV -- modal verb, has no imperative forms "wolle,woll(e)t" HL 12/2024 + "wollen" "will" "willst" "will" "wollt" "wolle" "wollte" "wolltest" "wollten" "wolltet" "wollte" "gewollt" [] VHaben) ; we_Pron = mkPronPers "wir" "uns" "uns" "unser" "unser" Fem Pl P1 ; - whatSg_IP = {s = caselist "was" "was" "was" "wessen" ; n = Sg} ; ---- - whatPl_IP = {s = caselist "was" "was" "was" "wessen" ; n = Pl} ; -- HL 6/2016 + whatSg_IP = {s = caselist "was" "was" "was" "wessen" ; + a = GSg Neutr ; isPron = True} ; -- todo: mit was => womit + whatPl_IP = {s = caselist "was alles" "was alles" "was allem" "wessen allem" ; + a = GSg Neutr ; isPron = True} ; -- Duden 563 when_IAdv = ss "wann" ; when_Subj = ss "wenn" ; where_IAdv = ss "wo" ; - which_IQuant = {s = \\gn,c => "welch" + detEnding ! gn ! c} ; - whoSg_IP = {s = caselist "wer" "wen" "wem" "wessen" ; n = Sg} ; - whoPl_IP = {s = caselist "wer" "wen" "wem" "wessen" ; n = Sg} ; -- HL 6/2016 + which_IQuant = {s = \\gn,c => "welch" + detEnding ! gn ! c ; a = Weak} ; + whoSg_IP = {s = caselist "wer" "wen" "wem" "wessen" ; + a = GSg Masc ; isPron = True} ; -- Duden 563 + whoPl_IP = {s = caselist "wer alles" "wen alles" "wem alles" "wessen alles" ; + a = GSg Masc ; isPron = True} ; -- Duden 563 why_IAdv = ss "warum" ; without_Prep = mkPrep "ohne" P.accusative ; with_Prep = mkPrep "mit" P.dative ; @@ -153,7 +157,7 @@ concrete StructuralGer of Structural = CatGer ** GPl => \\c => "kein" + detEnding ! GPl ! c} ; sp = \\gn,c => "kein" + detEnding ! gn ! c ; a = Mixed ; isDefArt = False ; delCardOne = True} ; -- HL kein+ein(er) => kein(er) - if_then_Conj = {s1 = "wenn" ; s2 = "dann" ; n = Sg ; lock_Conj = <>} ; + if_then_Conj = {s1 = "wenn" ; s2 = bindComma ++ "dann" ; n = Sg} ; nobody_NP = nameNounPhrase Masc {s = caselist "niemand" "niemanden" "niemandem" "niemands"} ; nothing_NP = @@ -166,7 +170,7 @@ concrete StructuralGer of Structural = CatGer ** have_V2 = P.dirV2 IrregGer.haben_V ; that_Subj = ss "dass" ; - lin language_title_Utt = ss "Deutsch" ; + language_title_Utt = ss "Deutsch" ; oper asNum : (Gender => Case => Str) -> (Gender => Case => {quant,num:Str}) = diff --git a/src/german/VerbGer.gf b/src/german/VerbGer.gf index b2e5b557..8a7d4bef 100644 --- a/src/german/VerbGer.gf +++ b/src/german/VerbGer.gf @@ -103,22 +103,28 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in { insertObj' obj b w c vps ; UseComp comp = - insertExtrapos comp.ext (insertObj comp.s (predV sein_V)) ; -- agr not used + insertExtrapos (comp.ext ! Sg) (insertObj comp.s (predV sein_V)) ; -- agr not used ---- TODO: comp.ext depends on number if CompCN -- SS: adj slot not used here for e.g. "ich bin alt" but same behaviour as NPs? -- "ich bin nicht alt" "ich bin nicht Doris" UseCopula = predV sein_V ; - CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = ap.s2 ! Nom ++ ap.ext} ; - CompNP np = {s = \\_ => np.s ! False ! Nom ++ np.rc ; ext = np.ext} ; - CompAdv a = {s = \\_ => a.s ; ext = []} ; + CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = \\_ => ap.s2 ! Nom ++ ap.ext} ; + CompNP np = {s = \\_ => np.s ! False ! Nom ; ext = \\_ => np.rc ++ np.ext} ; + CompAdv a = {s = \\_ => a.s ; ext = \\_ => []} ; - CompCN cn = {s = \\a => case numberAgr a of { - Sg => "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.rc ! Sg ; --- - Pl => cn.s ! Strong ! Pl ! Nom ++ cn.rc ! Pl --- - } ; - ext = cn.adv ++ cn.ext - } ; + CompCN cn = { + s = let + sg : Str = "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.adv ; --- + pl : Str = cn.s ! Strong ! Pl ! Nom ++ cn.adv + in table { + AgPlPol => sg ; + a => case numberAgr a of { + Sg => sg ; + Pl => pl } + } ; + ext = \\n => cn.rc ! n ++ cn.ext + } ; AdvVP vp adv = insertAdv adv.s vp ; ExtAdvVP vp adv = insertAdv (embedInCommas adv.s) vp ; diff --git a/src/greek/ResGre.gf b/src/greek/ResGre.gf index 45d1d79d..7a8a26cd 100644 --- a/src/greek/ResGre.gf +++ b/src/greek/ResGre.gf @@ -39,7 +39,7 @@ resource ResGre = ParamX ** open Prelude in { oper - AAgr : Type = {g : Gender ; n : Number} ; + AAgr : PType = {g : Gender ; n : Number} ; VP = { v : Verb ; clit,clit2 : Str ; comp : Agr => Str ; isNeg : Bool ; voice : Voice ; aspect :Aspect} ; @@ -1826,4 +1826,4 @@ resource ResGre = ParamX ** open Prelude in { - \ No newline at end of file + diff --git a/src/hindi/ParadigmsHin.gf b/src/hindi/ParadigmsHin.gf index 2999e5ff..5d4e664c 100644 --- a/src/hindi/ParadigmsHin.gf +++ b/src/hindi/ParadigmsHin.gf @@ -81,7 +81,7 @@ oper } ; - mkIrregA : Str -> A = \str -> makeIrregA str ; + mkIrregA : Str -> A = \str -> lin A (makeIrregA str) ; mkA2 : A -> Str -> A2 ; mkA2 a str = a ** {c2=str ; lock_A2 = <>} ; @@ -169,7 +169,7 @@ oper -- mkV0 : V -> V0 ; mkVS : V -> VS; -- e.g drna - mkVS v = v ; + mkVS v = lin VS v ; -- mkV2S : V -> Prep -> V2S ; mkVV : V -> VV = -- e.g cahna \v -> lin VV (v ** {isAux = False}); @@ -184,7 +184,7 @@ oper -- mkVA : V -> VA ; -- mkV2A : V -> Prep -> V2A ; mkVQ : V -> VQ ; -- e.g janna - mkVQ v = v ; + mkVQ v = lin VQ v ; -- mkV2Q : V -> Prep -> V2Q ; -- -- mkAS : A -> AS ; diff --git a/src/hungarian/CatHun.gf b/src/hungarian/CatHun.gf index 2247e484..4179977a 100644 --- a/src/hungarian/CatHun.gf +++ b/src/hungarian/CatHun.gf @@ -117,12 +117,14 @@ concrete CatHun of Cat = CommonX - [Adv] ** open ResHun, Prelude in { N, N2, N3 = ResHun.Noun ; - PN = ResHun.NounPhrase ; + PN,LN,GN,SN = ResHun.NounPhrase ; Adv = {s : Str ; isPre : Bool} ; linref CN = linCN ; NP = linNP ; + V,VS,VQ,VA = \v -> v.s ! VPres P3 Sg ; + V2,V3,V2S,V2Q,V2A = \v -> v.s ! Indef ! VPres P3 Sg ; } diff --git a/src/hungarian/ExtendHun.gf b/src/hungarian/ExtendHun.gf index 334eef4c..c595a448 100644 --- a/src/hungarian/ExtendHun.gf +++ b/src/hungarian/ExtendHun.gf @@ -5,4 +5,7 @@ concrete ExtendHun of Extend = CatHun -- with (Grammar=GrammarHun) ** open Prelude, ResHun, NounHun in { +lin + TPastSimple = {s = []} ** {t = Past} ; --# notpresent + } ; diff --git a/src/hungarian/NumeralHun.gf b/src/hungarian/NumeralHun.gf index 58405457..0bed49a2 100644 --- a/src/hungarian/NumeralHun.gf +++ b/src/hungarian/NumeralHun.gf @@ -6,7 +6,10 @@ lincat Sub10 = LinDigit ; Sub100, Sub1000, - Sub1000000 = ResHun.Numeral ; + Sub1000000, + Sub1000000000, + Sub1000000000000 = ResHun.Numeral ; + lin -- TODO: Add case inflection and ordinal forms to all numerals @@ -72,6 +75,9 @@ lin {s = table {p => n.s ! Attrib ++ "ezer" ++ m.s ! p} ; n = numNumber ; numtype = IsNum} ; + pot3as4 n = n ; + pot4as5 n = n ; + oper LinDigit : Type = {s : DForm*Place => Str ; n : Number} ; diff --git a/src/hungarian/ParadigmsHun.gf b/src/hungarian/ParadigmsHun.gf index 69f285e7..5dfb718a 100644 --- a/src/hungarian/ParadigmsHun.gf +++ b/src/hungarian/ParadigmsHun.gf @@ -31,6 +31,14 @@ oper -- mkPN : N -> Number -> PN ; } ; + mkLN : overload { + mkLN : Str -> PN ; -- Singular PN out of a string + mkLN : Str -> Number -> PN -- PN with a given number + } ; + + mkGN : Str -> GN ; -- GN out of a string + mkSN : Str -> SN ; -- SN out of a string + --2 Adjectives mkA : overload { @@ -110,6 +118,9 @@ oper mkAdA : Str -> AdA = \s -> lin AdA {s = s} ; + mkAdN : Str -> AdN + = \s -> lin AdN {s = s} ; + --. ------------------------------------------------------------------------------- @@ -184,6 +195,14 @@ oper -- mkPN : N -> Number -> PN ; } ; + mkLN = overload { + mkLN : Str -> LN = \s -> lin LN (defNP s Sg) ; + mkLN : Str -> Number -> LN = \s,n -> lin LN (defNP s n) ; + } ; + + mkGN s = lin GN (defNP s Sg) ; + mkSN s = lin SN (defNP s Sg) ; + mkA = overload { mkA : (sgnom : Str) -> A = \s -> lin A (mkAdj s) ; mkA : (sgnom,sgacc : Str) -> A = \nom,acc -> @@ -194,7 +213,7 @@ oper } ; mkA2 = overload { - mkA2 : A -> A2 = \a -> a ** {c2 = casePrep Nom ; isPost = False} ; + mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = casePrep Nom ; isPost = False}) ; mkA2 : Str -> Prep -> A2 = \s,p -> lin A2 ((mkAdj s) ** {c2 = p ; isPost = False}) ; mkA2 : Str -> Case -> A2 = \s,c -> @@ -211,19 +230,56 @@ oper lin V (mkVerbFull sg1 sg2 sg3 pl1 pl2 pl3 inf) ; } ; - copula = ResHun.copula ; + copula = lin V ResHun.copula ; + + mkVS = overload { + mkVS : Str -> VS = \v -> lin VS (mkVerb v) ; + mkVS : V -> VS = \v -> lin VS v ; + } ; + + mkVQ = overload { + mkVQ : Str -> VQ = \v -> lin VQ (mkVerb v) ; + mkVQ : V -> VQ = \v -> lin VQ v ; + } ; + + mkVA = overload { + mkVA : Str -> VA = \v -> lin VA (mkVerb v) ; + mkVA : V -> VA = \v -> lin VA v ; + } ; mkV2 = overload { mkV2 : (plain : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; - mkV2 : V -> V2 = vtov2 ; + mkV2 : V -> V2 = \v -> lin V2 (vtov2 v) ; + } ; + + mkVV = overload { + mkVV : Str -> VV = \v -> lin VV (mkVerb2 v) ; + mkVV : V -> VV = \v -> lin VV (vtov2 v) ; + } ; + + mkV2A = overload { + mkV2A : Str -> V2A = \v -> lin V2A (mkVerb2 v) ; + mkV2A : V -> V2A = \v -> lin V2A (vtov2 v) ; + } ; + + mkV2V = overload { + mkV2V : Str -> V2V = \v -> lin V2V (mkVerb2 v) ; + mkV2V : V -> V2V = \v -> lin V2V (vtov2 v) ; + } ; + + mkV2S = overload { + mkV2S : Str -> V2S = \v -> lin V2S (mkVerb2 v) ; + mkV2S : V -> V2S = \v -> lin V2S (vtov2 v) ; + } ; + + mkV2Q = overload { + mkV2Q : Str -> V2Q = \v -> lin V2Q (mkVerb2 v) ; + mkV2Q : V -> V2Q = \v -> lin V2Q (vtov2 v) ; } ; mkV3 = overload { mkV3 : (plain : Str) -> V3 = \v3 -> lin V3 (mkVerb3 v3) ; } ; - -- - -- mkVV = overload { - -- } ; mkPrep = overload { mkPrep : (e : Str) -> Prep @@ -234,6 +290,8 @@ oper casePrep : Case -> Prep = \c -> lin Prep (ResHun.caseAdp c) ; + + mkInterj : Str -> Interj = \s -> lin Interj {s = s} ; -------------------------------------------------------------------------------- } diff --git a/src/hungarian/StructuralHun.gf b/src/hungarian/StructuralHun.gf index 08d8babd..711ca6f0 100644 --- a/src/hungarian/StructuralHun.gf +++ b/src/hungarian/StructuralHun.gf @@ -121,12 +121,12 @@ lin under_Prep = nomAdp "alatt" ; -- Pron -- Pronouns are closed class, no constructor in ParadigmsHun. - -- it_Pron = i_Pron = pronTable ! ; youPol_Pron, youSg_Pron = pronTable ! ; he_Pron, - she_Pron = pronTable ! ; + she_Pron, + it_Pron = pronTable ! ; we_Pron = pronTable ! ; youPl_Pron = pronTable ! ; they_Pron = pronTable ! ; diff --git a/src/icelandic/ParadigmsIce.gf b/src/icelandic/ParadigmsIce.gf index c40f4846..ad0711d7 100644 --- a/src/icelandic/ParadigmsIce.gf +++ b/src/icelandic/ParadigmsIce.gf @@ -249,11 +249,23 @@ resource ParadigmsIce = open in lin N (nForms2Noun nfs (nForms2Suffix nfs gend) gend) ; mkPN = overload { - -- this should be merged or swithced with N -> Gender - mkPN : Str -> Gender -> PN = - \name,g -> regPN name g ; + mkPN : Str -> Gender -> PN + = \name,g -> case name of { + head + " " + suf => suffixPN (regPN head g) suf ; -- fallback: use explicit constructors for more precision + _ => regPN name g } ; + mkPN : PN -> Str -> PN -- mkPN (mkPN "Annar" ) "í jólum" + = suffixPN ; + mkPN : Str -> PN -> PN -- mkPN "Sameinuðu" (mkPN "þjóðirnar") + = prefixPN + } ; + foreignPN : Str -> PN = \name -> lin PN {s = \\_ => name ; g = Masc} ; + prefixPN : Str -> PN -> PN = \prefix,pn -> pn ** { + s = \\c => prefix ++ pn.s ! c + } ; + suffixPN : PN -> Str -> PN = \pn,suffix -> pn ** { + s = \\c => pn.s ! c ++ suffix } ; oper mkLN : Str -> LN = \s -> lin LN {s=s} ; @@ -403,7 +415,7 @@ resource ParadigmsIce = open addAdv : A -> Str -> A = \a,adv -> a ** {adv = adv} ; - mkA2 : A -> Prep -> A2 = \adj,prep -> adj ** {c2 = prep} ; + mkA2 : A -> Prep -> A2 = \adj,prep -> lin A2 (adj ** {c2 = prep}) ; --2 Verbs @@ -744,9 +756,9 @@ resource ParadigmsIce = open -- Two-place verbs need a preposition, except the special case with direct object. -- (transitive verbs). - prepV2 : V -> Preposition -> V2 = \v,prep -> v ** {c2 = prep} ; + prepV2 : V -> Preposition -> V2 = \v,prep -> lin V2 (v ** {c2 = prep}) ; - prepV3 : V -> Preposition -> Preposition -> V3 = \v,p1,p2 -> v ** {c2 = p1 ; c3 = p2} ; + prepV3 : V -> Preposition -> Preposition -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1 ; c3 = p2}) ; accPrep : Preposition = {s = []; c = Acc} ; @@ -810,7 +822,7 @@ resource ParadigmsIce = open regPN : Str -> Gender -> PN = \name,g -> case of { => lin PN {s = caseList name (base + "a") (base + "a") (base + "a") ; g = Masc} ; - => lin PN {s = caseList name (base + "u") (base + "u") (base + "u") ; g = Masc} ; + => lin PN {s = caseList name (base + "u") (base + "u") (base + "u") ; g = g} ; => lin PN {s = caseList name base (base + "i") (base + "s") ; g = Masc} ; => lin PN {s = caseList name name name (name + "s") ; g = Masc} ; => lin PN {s = caseList name name (name + "i") (name + "ar") ; g = Masc} ; diff --git a/src/interlingua/NumeralIna.gf b/src/interlingua/NumeralIna.gf index c486598e..bfc54a67 100644 --- a/src/interlingua/NumeralIna.gf +++ b/src/interlingua/NumeralIna.gf @@ -86,12 +86,6 @@ concrete NumeralIna of Numeral = CatIna [Numeral,Digits,Decimal] ** open ResIna, _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + "e") ; diff --git a/src/italian/NumeralIta.gf b/src/italian/NumeralIta.gf index db458899..ec675f80 100644 --- a/src/italian/NumeralIta.gf +++ b/src/italian/NumeralIta.gf @@ -159,12 +159,6 @@ param Pred = pred | indip ; _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mkDig : Str -> TDigit = \c -> mk2Dig c Pl ; diff --git a/src/italian/ParadigmsIta.gf b/src/italian/ParadigmsIta.gf index 36165db9..f3efde47 100644 --- a/src/italian/ParadigmsIta.gf +++ b/src/italian/ParadigmsIta.gf @@ -40,14 +40,14 @@ resource ParadigmsIta = BeschIta ** -- To abstract over gender names, we define the following identifiers. oper - Gender : Type ; + Gender : PType ; masculine : Gender ; feminine : Gender ; -- To abstract over number names, we define the following. - Number : Type ; + Number : PType ; singular : Number ; plural : Number ; diff --git a/src/japanese/CatJpn.gf b/src/japanese/CatJpn.gf index fa667d1f..5e28fa6e 100644 --- a/src/japanese/CatJpn.gf +++ b/src/japanese/CatJpn.gf @@ -83,6 +83,6 @@ flags coding = utf8 ; -- counter : Str ; counterReplace : Bool ; counterTsu : Bool} ; N2 = Noun ** {prep : Str; object : Style => Str} ; N3 = Noun ** {prep1 : Str; prep2 : Str} ; - PN = PropNoun ; -- {s : Style => Str ; anim : Animateness} ; + PN,LN,GN,SN = PropNoun ; -- {s : Style => Str ; anim : Animateness} ; } diff --git a/src/japanese/NumeralJpn.gf b/src/japanese/NumeralJpn.gf index 32c873a6..a0a8262a 100644 --- a/src/japanese/NumeralJpn.gf +++ b/src/japanese/NumeralJpn.gf @@ -224,10 +224,4 @@ flags coding = utf8 ; T3 => "," ; _ => [] } ; - - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; } diff --git a/src/japanese/ParadigmsJpn.gf b/src/japanese/ParadigmsJpn.gf index 707d8aa0..cbae3384 100644 --- a/src/japanese/ParadigmsJpn.gf +++ b/src/japanese/ParadigmsJpn.gf @@ -50,6 +50,10 @@ oper = \jon,jonsan -> lin PN (personPN jon jonsan) } ; + mkGN : Str -> GN = \s -> lin GN (regPN s); + mkLN : Str -> LN = \s -> lin LN (regPN s); + mkSN : Str -> SN = \s -> lin SN (regPN s); + mkPron = overload { mkPron : (kare : Str) -> (Pron1Sg : Bool) -> (anim : Animacy) -> Pron = \kare,b,a -> lin Pron (regPron kare b a) ; diff --git a/src/japanese/ResJpn.gf b/src/japanese/ResJpn.gf index 5af987fb..b7f206f3 100644 --- a/src/japanese/ResJpn.gf +++ b/src/japanese/ResJpn.gf @@ -1,9 +1,8 @@ -resource ResJpn = open Prelude in { +resource ResJpn = ParamX [Number,Sg,Pl,DTail,T1,T2,T3,inc] ** open Prelude in { flags coding = utf8 ; param - Number = Sg | Pl ; Style = Plain | Resp ; Animateness = Anim | Inanim ; Mood = Ind | Con ; @@ -15,7 +14,6 @@ param Particle = Wa | Ga ; Anteriority = Simul | Anter ; NumeralType = EndZero | EndNotZero | SingleDigit ; - DTail = T1 | T2 | T3 ; ConjType = And | Or | Both | IfConj ; SubjType = That | If | OtherSubj ; VocType = VocPres | Please | VocAbs ; diff --git a/src/kazakh/CatKaz.gf b/src/kazakh/CatKaz.gf index aa9f2ac2..5ca809f4 100644 --- a/src/kazakh/CatKaz.gf +++ b/src/kazakh/CatKaz.gf @@ -1,13 +1,69 @@ -concrete CatKaz of Cat = CommonX ** open ResKaz in { - -lincat N = Noun ; -lincat N2 = Noun ** {c2 : Compl} ; -lincat N3 = Noun ** {c2,c3 : Compl} ; -lincat V, VA, VV, VS, VQ = Verb ; -lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ; -lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; -lincat A = {s : Str} ; -lincat A2 = A ** {c2 : Compl} ; -lincat Prep = Compl ; - +concrete CatKaz of Cat = CommonX ** open Prelude,ResKaz in { + lincat A = {s : Str} ; + lincat A2 = A ** {c2 : Compl} ; + lincat ACard = {s : Str} ; + lincat AP = {s : Str} ; + lincat CN = {s : Case => Str} ; + lincat Card = {s : Str} ; + lincat Cl = {infinitive : Case => Str} ; + lincat ClSlash = {s : Str} ; + lincat Comp = {s : Str} ; + lincat Conj = {s : Str} ; + lincat DAP = {s : Str} ; + lincat Decimal = {s : Str} ; + lincat Det = {s : Str; n : Number} ; + lincat Digits = {s : Str} ; + lincat GN = {s : Str} ; + lincat IComp = {s : Str} ; + lincat IDet = {s : Str} ; + lincat IP = {s : Str} ; + lincat IQuant = {s : Str} ; + lincat Imp = {s : Str} ; + lincat LN = {s : Str} ; + lincat N = {s : Case => Number => Str; + poss : Number => Person => Number => Str} ; + lincat N2 = {s : Case => Number => Str; + poss : Number => Person => Number => Str; c2 : {s : Str}} ; + lincat N3 = {s : Case => Number => Str; + poss : Number => Person => Number => Str; c2 : {s : Str}; + c3 : {s : Str}} ; + lincat NP = {s : Case => Str} ; + lincat Num = {s : Str; n : Number} ; + lincat Numeral = {s : Str} ; + lincat Ord = {s : Str} ; + lincat PN = {s : Str} ; + lincat Predet = {s : Str} ; + lincat Prep = Compl ; + lincat Pron = {s : Str} ; + lincat QCl = {s : Str} ; + lincat QS = {s : Str} ; + lincat Quant = {s : Str} ; + lincat RCl = {s : Str} ; + lincat RP = {s : Str} ; + lincat RS = {s : Str} ; + lincat S = {s : Str} ; + lincat SN = {s : Str} ; + lincat SSlash = {s : Str} ; + lincat Subj = {s : Str} ; + lincat V = Verb ; + lincat VV,VS,VQ,VA = Verb ; + lincat V2 = Verb ** {c2 : Compl} ; + lincat V3,V2A,V2S,V2Q,V2V = Verb ** {c2,c3 : Compl} ; + lincat VP = {infinitive : Case => Str; + indicative : {fut : Case => Str; + pres : {progressive : Polarity => Case => Str; + noAspect : Polarity => Case => Str}; + past : {perfect : Polarity => Case => Str; + progressive : Polarity => Case => Str; + noAspect : Polarity => Case => Str}}; + subjunctive : Person => Case => Str} ; + lincat VPSlash = {infinitive : Str; + indicative : {fut : Str; + pres : {progressive : Polarity => Person => Number => Str; + noAspect : Polarity => Person => Number => Str}; + past : {perfect : Polarity => Person => Number => Str; + progressive : Polarity => Person => Number => Str; + noAspect : Polarity => Person => Number => Str}}; + imperative : Polarity => Formality => Number => Str; + subjunctive : Person => Number => Str} ; } diff --git a/src/kazakh/DocumentationKaz.gf b/src/kazakh/DocumentationKaz.gf index 7b71bcfd..f1a7ef84 100644 --- a/src/kazakh/DocumentationKaz.gf +++ b/src/kazakh/DocumentationKaz.gf @@ -34,118 +34,118 @@ lin InflectionV, InflectionV2, InflectionV3, InflectionV2V, InflectionV2S, InflectionVQ, InflectionVA = \x -> { t="v" ; s1="" ; - s2=heading2 "Infinitive" ++ paragraph (x.Infinitive) ++ - -- tr (th "Indicative" ++ th "Fut" ++ td (x.Indicative.Fut)) ++ + s2=heading2 "Infinitive" ++ paragraph (x.infinitive) ++ + -- tr (th "Indicative" ++ th "Fut" ++ td (x.indicative.Fut)) ++ heading2 "Present"++ frameTable ( - tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Pos ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Pos ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Pos ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Pos ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Pos ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Pos ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Pos ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Pos ! P3 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Neg ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Neg ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Neg ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Neg ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Pres.noAspect ! Neg ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.noAspect ! Neg ! P3 ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Pos ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Pos ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Pos ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Pos ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Pos ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Pos ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Pos ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Pos ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Neg ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Neg ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Neg ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Neg ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.pres.noAspect ! Neg ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.noAspect ! Neg ! P3 ! Pl))) ++ heading2 "Present Progressive"++ frameTable ( - tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Pos ! P1 ! Sg))++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Pos ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Pos ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Pos ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Pos ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Pos ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Pos ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Pos ! P3 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Neg ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Neg ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Neg ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Neg ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Neg ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Pres.Progressive ! Neg ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Pres.Progressive ! Neg ! P3 ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Pos ! P1 ! Sg))++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Pos ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Pos ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Pos ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Pos ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Pos ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Pos ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Pos ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Neg ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Neg ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Neg ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Neg ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Neg ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.pres.progressive ! Neg ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.pres.progressive ! Neg ! P3 ! Pl))) ++ heading2 "Past" ++ frameTable ( - tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Pos ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Pos ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Pos ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Pos ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Pos ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Pos ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Pos ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Pos ! P3 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Neg ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Neg ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Neg ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Neg ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Neg ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.noAspect ! Neg ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.noAspect ! Neg ! P3 ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Pos ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Pos ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Pos ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Pos ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Pos ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Pos ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Pos ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Pos ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Neg ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Neg ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Neg ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Neg ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Neg ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.noAspect ! Neg ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.noAspect ! Neg ! P3 ! Pl))) ++ heading2 "Past Perfect" ++ frameTable ( - tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Pos ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Pos ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Pos ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Pos ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Pos ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Pos ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Pos ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Pos ! P3 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Neg ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Neg ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Neg ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Neg ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Neg ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.Perfect ! Neg ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Perfect ! Neg ! P3 ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.perfect ! Pos ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Pos ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.perfect ! Pos ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Pos ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.perfect ! Pos ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Pos ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.perfect ! Pos ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Pos ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.perfect ! Neg ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Neg ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.perfect ! Neg ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Neg ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.perfect ! Neg ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.perfect ! Neg ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.perfect ! Neg ! P3 ! Pl))) ++ heading2 "Past Progressive" ++ frameTable ( - tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Pos ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Pos ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Pos ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Pos ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Pos ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Pos ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Pos ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Pos ! P3 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Neg ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Neg ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Neg ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Neg ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Neg ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Neg ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Indicative.Past.Progressive ! Neg ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Indicative.Past.Progressive ! Neg ! P3 ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.progressive ! Pos ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Pos ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.progressive ! Pos ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Pos ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.progressive ! Pos ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Pos ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.progressive ! Pos ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Pos ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.indicative.past.progressive ! Neg ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Neg ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.indicative.past.progressive ! Neg ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Neg ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.indicative.past.progressive ! Neg ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Neg ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.indicative.past.progressive ! Neg ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.indicative.past.progressive ! Neg ! P3 ! Pl))) ++ heading2 "Imperative" ++ frameTable ( - tr (intagAttr "th" "rowspan=\"4\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "Informal" ++ th "Sg" ++ td (x.Imperative_Jussive ! Pos ! Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Imperative_Jussive ! Pos ! Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "Formal" ++ th "Sg" ++ td (x.Imperative_Jussive ! Pos ! Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Imperative_Jussive ! Pos ! Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"4\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "Informal" ++ th "Sg" ++ td (x.Imperative_Jussive ! Neg ! Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Imperative_Jussive ! Neg ! Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "Formal" ++ th "Sg" ++ td (x.Imperative_Jussive ! Neg ! Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Imperative_Jussive ! Neg ! Formal ! Pl))) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Pos" ++ intagAttr "th" "rowspan=\"2\"" "Informal" ++ th "Sg" ++ td (x.imperative ! Pos ! Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Pos ! Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "Formal" ++ th "Sg" ++ td (x.imperative ! Pos ! Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Pos ! Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Neg" ++ intagAttr "th" "rowspan=\"2\"" "Informal" ++ th "Sg" ++ td (x.imperative ! Neg ! Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Neg ! Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "Formal" ++ th "Sg" ++ td (x.imperative ! Neg ! Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! Neg ! Formal ! Pl))) ++ heading2 "Subjunctive" ++ frameTable ( - tr (intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.Subjunctive ! P1 ! Sg)) ++ - tr (th "Pl" ++ td (x.Subjunctive ! P1 ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.Subjunctive ! P2 Informal ! Sg)) ++ - tr (th "Pl" ++ td (x.Subjunctive ! P2 Informal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.Subjunctive ! P2 Formal ! Sg)) ++ - tr (th "Pl" ++ td (x.Subjunctive ! P2 Formal ! Pl)) ++ - tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.Subjunctive ! P3 ! Sg)) ++ - tr (th "Pl" ++ td (x.Subjunctive ! P3 ! Pl))) ; + tr (intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.subjunctive ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.subjunctive ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Informal" ++ th "Sg" ++ td (x.subjunctive ! P2 Informal ! Sg)) ++ + tr (th "Pl" ++ td (x.subjunctive ! P2 Informal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2 Formal" ++ th "Sg" ++ td (x.subjunctive ! P2 Formal ! Sg)) ++ + tr (th "Pl" ++ td (x.subjunctive ! P2 Formal ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.subjunctive ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.subjunctive ! P3 ! Pl))) ; s3=[] } ; diff --git a/src/kazakh/GrammarKaz.gf b/src/kazakh/GrammarKaz.gf new file mode 100644 index 00000000..cfda44d9 --- /dev/null +++ b/src/kazakh/GrammarKaz.gf @@ -0,0 +1,6 @@ +concrete GrammarKaz of Grammar = + PhraseKaz, + TextX, + TenseX ** { + +} ; diff --git a/src/kazakh/LangKaz.gf b/src/kazakh/LangKaz.gf index 1763139d..d4e05929 100644 --- a/src/kazakh/LangKaz.gf +++ b/src/kazakh/LangKaz.gf @@ -1,4 +1,5 @@ concrete LangKaz of Lang = + GrammarKaz, LexiconKaz ,DocumentationKaz --# notpresent ** { diff --git a/src/kazakh/MorphoKaz.gf b/src/kazakh/MorphoKaz.gf index 93860f95..7099ef8d 100644 --- a/src/kazakh/MorphoKaz.gf +++ b/src/kazakh/MorphoKaz.gf @@ -5669,9 +5669,9 @@ mkV001 : Str -> V ; mkV001 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып oтыpмын" ; @@ -5748,7 +5748,7 @@ mkV001 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қaнмын" ; @@ -5786,7 +5786,7 @@ mkV001 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -5864,7 +5864,7 @@ mkV001 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -5886,7 +5886,7 @@ mkV001 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -5912,9 +5912,9 @@ mkV002 : Str -> V ; mkV002 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п тұpмын" ; @@ -5991,7 +5991,7 @@ mkV002 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -6029,7 +6029,7 @@ mkV002 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтынмын" ; @@ -6107,7 +6107,7 @@ mkV002 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -6129,7 +6129,7 @@ mkV002 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмын" ; Pl => base_1+"pмыз" @@ -6155,9 +6155,9 @@ mkV003 : Str -> V ; mkV003 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып жaтыpмын" ; @@ -6234,7 +6234,7 @@ mkV003 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -6272,7 +6272,7 @@ mkV003 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -6350,7 +6350,7 @@ mkV003 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -6372,7 +6372,7 @@ mkV003 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -6398,9 +6398,9 @@ mkV004 : Str -> V ; mkV004 base = case base of { base_1+"лу" => lin V - { Infinitive = base_1+"лу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"лу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"лып тұpмын" ; @@ -6477,7 +6477,7 @@ mkV004 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "шыд"+base_1+"ғaнмын" ; @@ -6515,7 +6515,7 @@ mkV004 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"лaтынмын" ; @@ -6593,7 +6593,7 @@ mkV004 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"л" ; @@ -6615,7 +6615,7 @@ mkV004 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"лapмын" ; Pl => base_1+"лapмыз" @@ -6641,9 +6641,9 @@ mkV005 : Str -> V ; mkV005 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып тұpмын" ; @@ -6720,7 +6720,7 @@ mkV005 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қaнмын" ; @@ -6758,7 +6758,7 @@ mkV005 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -6836,7 +6836,7 @@ mkV005 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -6858,7 +6858,7 @@ mkV005 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -6884,9 +6884,9 @@ mkV006 : Str -> V ; mkV006 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п жaтыpмын" ; @@ -6963,7 +6963,7 @@ mkV006 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -7001,7 +7001,7 @@ mkV006 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтынмын" ; @@ -7079,7 +7079,7 @@ mkV006 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -7101,7 +7101,7 @@ mkV006 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмын" ; Pl => base_1+"pмыз" @@ -7127,9 +7127,9 @@ mkV007 : Str -> V ; mkV007 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп жaтыpмын" ; @@ -7206,7 +7206,7 @@ mkV007 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"кeнмiн" ; @@ -7244,7 +7244,7 @@ mkV007 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -7322,7 +7322,7 @@ mkV007 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -7344,7 +7344,7 @@ mkV007 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -7370,9 +7370,9 @@ mkV008 : Str -> V ; mkV008 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп тұpмын" ; @@ -7449,7 +7449,7 @@ mkV008 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"iгeнмiн" ; @@ -7487,7 +7487,7 @@ mkV008 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -7565,7 +7565,7 @@ mkV008 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -7587,7 +7587,7 @@ mkV008 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"ipмiн" ; Pl => base_1+"ipмiз" @@ -7613,9 +7613,9 @@ mkV009 : Str -> V ; mkV009 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п тұpмын" ; @@ -7692,7 +7692,7 @@ mkV009 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -7730,7 +7730,7 @@ mkV009 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтiнмiн" ; @@ -7808,7 +7808,7 @@ mkV009 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -7830,7 +7830,7 @@ mkV009 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмiн" ; Pl => base_1+"pмiз" @@ -7856,9 +7856,9 @@ mkV010 : Str -> V ; mkV010 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп тұpмын" ; @@ -7935,7 +7935,7 @@ mkV010 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"кeнмiн" ; @@ -7973,7 +7973,7 @@ mkV010 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -8051,7 +8051,7 @@ mkV010 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -8073,7 +8073,7 @@ mkV010 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -8099,9 +8099,9 @@ mkV011 : Str -> V ; mkV011 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п жүpмiн" ; @@ -8178,7 +8178,7 @@ mkV011 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -8216,7 +8216,7 @@ mkV011 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтынмын" ; @@ -8294,7 +8294,7 @@ mkV011 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -8316,7 +8316,7 @@ mkV011 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмын" ; Pl => base_1+"pмыз" @@ -8342,9 +8342,9 @@ mkV012 : Str -> V ; mkV012 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып oтыpмын" ; @@ -8421,7 +8421,7 @@ mkV012 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ығaнмын" ; @@ -8459,7 +8459,7 @@ mkV012 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -8537,7 +8537,7 @@ mkV012 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -8559,7 +8559,7 @@ mkV012 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -8585,9 +8585,9 @@ mkV013 : Str -> V ; mkV013 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"мын" ; @@ -8664,7 +8664,7 @@ mkV013 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -8702,7 +8702,7 @@ mkV013 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -8780,7 +8780,7 @@ mkV013 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -8802,7 +8802,7 @@ mkV013 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -8828,9 +8828,9 @@ mkV014 : Str -> V ; mkV014 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"aмын" ; @@ -8907,7 +8907,7 @@ mkV014 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -8945,7 +8945,7 @@ mkV014 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -9023,7 +9023,7 @@ mkV014 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -9045,7 +9045,7 @@ mkV014 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -9071,9 +9071,9 @@ mkV015 : Str -> V ; mkV015 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"a жaтыpмын" ; @@ -9150,7 +9150,7 @@ mkV015 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -9188,7 +9188,7 @@ mkV015 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -9266,7 +9266,7 @@ mkV015 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -9288,7 +9288,7 @@ mkV015 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -9314,9 +9314,9 @@ mkV016 : Str -> V ; mkV016 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп тұpмын" ; @@ -9393,7 +9393,7 @@ mkV016 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -9431,7 +9431,7 @@ mkV016 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -9509,7 +9509,7 @@ mkV016 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -9531,7 +9531,7 @@ mkV016 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -9557,9 +9557,9 @@ mkV017 : Str -> V ; mkV017 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып тұpмын" ; @@ -9636,7 +9636,7 @@ mkV017 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -9674,7 +9674,7 @@ mkV017 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -9752,7 +9752,7 @@ mkV017 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -9774,7 +9774,7 @@ mkV017 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -9800,9 +9800,9 @@ mkV018 : Str -> V ; mkV018 base = case base of { base_1+"ып"+base_2@?+"қ"+base_3@?+"лу" => lin V - { Infinitive = base_1+"ып"+base_2+"қ"+base_3+"лу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ып"+base_2+"қ"+base_3+"лу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"a"+base_2+"ж"+base_3+"тыpмын" ; @@ -9879,7 +9879,7 @@ mkV018 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ып"+base_2+"қ"+base_3+"лғaнмын" ; @@ -9917,7 +9917,7 @@ mkV018 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"ып"+base_2+"қ"+base_3+"лaтынмын" ; @@ -9995,7 +9995,7 @@ mkV018 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"ып"+base_2+"қ"+base_3+"л" ; @@ -10017,7 +10017,7 @@ mkV018 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"ып"+base_2+"қ"+base_3+"лapмын" ; Pl => base_1+"ып"+base_2+"қ"+base_3+"лapмыз" @@ -10043,9 +10043,9 @@ mkV019 : Str -> V ; mkV019 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п жүpмiн" ; @@ -10122,7 +10122,7 @@ mkV019 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -10160,7 +10160,7 @@ mkV019 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтiнмiн" ; @@ -10238,7 +10238,7 @@ mkV019 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -10260,7 +10260,7 @@ mkV019 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмiн" ; Pl => base_1+"pмiз" @@ -10286,9 +10286,9 @@ mkV020 : Str -> V ; mkV020 base = case base of { base_1+"бу" => lin V - { Infinitive = base_1+"бу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"бу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып oтыpмын" ; @@ -10365,7 +10365,7 @@ mkV020 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"пқaнмын" ; @@ -10403,7 +10403,7 @@ mkV020 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"бaтынмын" ; @@ -10481,7 +10481,7 @@ mkV020 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"б" ; @@ -10503,7 +10503,7 @@ mkV020 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"бapмын" ; Pl => base_1+"бapмыз" @@ -10529,9 +10529,9 @@ mkV021 : Str -> V ; mkV021 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып жaтыpмын" ; @@ -10608,7 +10608,7 @@ mkV021 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -10646,7 +10646,7 @@ mkV021 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -10724,7 +10724,7 @@ mkV021 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -10746,7 +10746,7 @@ mkV021 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -10772,9 +10772,9 @@ mkV022 : Str -> V ; mkV022 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ыpмын" ; @@ -10851,7 +10851,7 @@ mkV022 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қaнмын" ; @@ -10889,7 +10889,7 @@ mkV022 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -10967,7 +10967,7 @@ mkV022 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -10989,7 +10989,7 @@ mkV022 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -11015,9 +11015,9 @@ mkV023 : Str -> V ; mkV023 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп жaтыpмын" ; @@ -11094,7 +11094,7 @@ mkV023 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -11132,7 +11132,7 @@ mkV023 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -11210,7 +11210,7 @@ mkV023 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -11232,7 +11232,7 @@ mkV023 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -11258,9 +11258,9 @@ mkV024 : Str -> V ; mkV024 base = case base of { "жұ"+base_1+"у" => lin V - { Infinitive = "жұ"+base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "жұ"+base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "жұ"+base_1+"ып жaтыpмын" ; @@ -11337,7 +11337,7 @@ mkV024 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "қыды"+base_1+"ғaнмын" ; @@ -11375,7 +11375,7 @@ mkV024 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "жұ"+base_1+"aтынмын" ; @@ -11453,7 +11453,7 @@ mkV024 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "жұ"+base_1 ; @@ -11475,7 +11475,7 @@ mkV024 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "жұ"+base_1+"apмын" ; Pl => "жұ"+base_1+"apмыз" @@ -11501,9 +11501,9 @@ mkV025 : Str -> V ; mkV025 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п oтыpмын" ; @@ -11580,7 +11580,7 @@ mkV025 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -11618,7 +11618,7 @@ mkV025 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтiнмiн" ; @@ -11696,7 +11696,7 @@ mkV025 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -11718,7 +11718,7 @@ mkV025 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмiн" ; Pl => base_1+"pмiз" @@ -11744,9 +11744,9 @@ mkV026 : Str -> V ; mkV026 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п oтыpмын" ; @@ -11823,7 +11823,7 @@ mkV026 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -11861,7 +11861,7 @@ mkV026 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтынмын" ; @@ -11939,7 +11939,7 @@ mkV026 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -11961,7 +11961,7 @@ mkV026 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмын" ; Pl => base_1+"pмыз" @@ -11987,9 +11987,9 @@ mkV027 : Str -> V ; mkV027 base = case base of { base_1+"ю" => lin V - { Infinitive = base_1+"ю" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ю" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п тұpмын" ; @@ -12066,7 +12066,7 @@ mkV027 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -12104,7 +12104,7 @@ mkV027 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"ятынмын" ; @@ -12182,7 +12182,7 @@ mkV027 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -12204,7 +12204,7 @@ mkV027 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"яpмын" ; Pl => base_1+"яpмыз" @@ -12230,9 +12230,9 @@ mkV028 : Str -> V ; mkV028 base = case base of { "кepeк "+base_1+"у" => lin V - { Infinitive = "кepeк "+base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "кepeк "+base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "кepeк "+base_1+"iп жaтыpмын" ; @@ -12309,7 +12309,7 @@ mkV028 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "кepeк "+base_1+"кeнмiн" ; @@ -12347,7 +12347,7 @@ mkV028 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "кepeк "+base_1+"eтiнмiн" ; @@ -12425,7 +12425,7 @@ mkV028 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "кepeк "+base_1 ; @@ -12447,7 +12447,7 @@ mkV028 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "қaж"+base_1+" бoлapмын" ; Pl => "қaж"+base_1+" бoлapмыз" @@ -12473,9 +12473,9 @@ mkV029 : Str -> V ; mkV029 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"e жaтыpмын" ; @@ -12552,7 +12552,7 @@ mkV029 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -12590,7 +12590,7 @@ mkV029 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -12668,7 +12668,7 @@ mkV029 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -12690,7 +12690,7 @@ mkV029 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -12716,9 +12716,9 @@ mkV030 : Str -> V ; mkV030 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп жaтыpмын" ; @@ -12795,7 +12795,7 @@ mkV030 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"кeнмiн" ; @@ -12833,7 +12833,7 @@ mkV030 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -12911,7 +12911,7 @@ mkV030 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -12933,7 +12933,7 @@ mkV030 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -12959,9 +12959,9 @@ mkV031 : Str -> V ; mkV031 base = case base of { "қaж"+base_1+" бoлу" => lin V - { Infinitive = "қaж"+base_1+" бoлу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "қaж"+base_1+" бoлу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "қaж"+base_1+" бoлып тұpмын" ; @@ -13038,7 +13038,7 @@ mkV031 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "қaж"+base_1+" бoлғaнмын" ; @@ -13076,7 +13076,7 @@ mkV031 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "қaж"+base_1+" бoлaтынмын" ; @@ -13154,7 +13154,7 @@ mkV031 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "қaж"+base_1+" бoл" ; @@ -13176,7 +13176,7 @@ mkV031 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "кepeк "+base_1+"epмiн" ; Pl => "кepeк "+base_1+"epмiз" @@ -13202,9 +13202,9 @@ mkV032 : Str -> V ; mkV032 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п жaтыpмын" ; @@ -13281,7 +13281,7 @@ mkV032 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -13319,7 +13319,7 @@ mkV032 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтынмын" ; @@ -13397,7 +13397,7 @@ mkV032 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -13419,7 +13419,7 @@ mkV032 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмын" ; Pl => base_1+"pмыз" @@ -13445,9 +13445,9 @@ mkV033 : Str -> V ; mkV033 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып тұpмын" ; @@ -13524,7 +13524,7 @@ mkV033 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -13562,7 +13562,7 @@ mkV033 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -13640,7 +13640,7 @@ mkV033 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -13662,7 +13662,7 @@ mkV033 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -13688,9 +13688,9 @@ mkV034 : Str -> V ; mkV034 base = case base of { "қoл"+base_1+base_2@(?+?)+"у" => lin V - { Infinitive = "қoл"+base_1+base_2+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "қoл"+base_1+base_2+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "қoл"+base_1+base_2+"ып жaтыpмын" ; @@ -13767,7 +13767,7 @@ mkV034 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "пaй"+base_1+"aл"+base_2+"ғaнмын" ; @@ -13805,7 +13805,7 @@ mkV034 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "қoл"+base_1+base_2+"aтынмын" ; @@ -13883,7 +13883,7 @@ mkV034 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "қoл"+base_1+base_2 ; @@ -13905,7 +13905,7 @@ mkV034 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "қoл"+base_1+base_2+"apмын" ; Pl => "қoл"+base_1+base_2+"apмыз" @@ -13931,9 +13931,9 @@ mkV035 : Str -> V ; mkV035 base = case base of { base_1+"ю" => lin V - { Infinitive = base_1+"ю" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ю" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п тұpмын" ; @@ -14010,7 +14010,7 @@ mkV035 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -14048,7 +14048,7 @@ mkV035 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"ятынмын" ; @@ -14126,7 +14126,7 @@ mkV035 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -14148,7 +14148,7 @@ mkV035 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"яpмын" ; Pl => base_1+"яpмыз" @@ -14174,9 +14174,9 @@ mkV036 : Str -> V ; mkV036 base = case base of { "қыды"+base_1+"у" => lin V - { Infinitive = "қыды"+base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "қыды"+base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "қыды"+base_1+"ып жүpмiн" ; @@ -14253,7 +14253,7 @@ mkV036 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "жұ"+base_1+"ғaнмын" ; @@ -14291,7 +14291,7 @@ mkV036 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "қыды"+base_1+"aтынмын" ; @@ -14369,7 +14369,7 @@ mkV036 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "қыды"+base_1 ; @@ -14391,7 +14391,7 @@ mkV036 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "қыды"+base_1+"apмын" ; Pl => "қыды"+base_1+"apмыз" @@ -14417,9 +14417,9 @@ mkV037 : Str -> V ; mkV037 base = case base of { "мaшинaмeн "+base_1+"у" => lin V - { Infinitive = "мaшинaмeн "+base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "мaшинaмeн "+base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"мiн" ; @@ -14496,7 +14496,7 @@ mkV037 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "мaшинaмeн "+base_1+"гeнмiн" ; @@ -14534,7 +14534,7 @@ mkV037 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "мaшинaмeн "+base_1+"eтiнмiн" ; @@ -14612,7 +14612,7 @@ mkV037 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "мaшинaмeн "+base_1 ; @@ -14634,7 +14634,7 @@ mkV037 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "мaшинaмeн "+base_1+"epмiн" ; Pl => "мaшинaмeн "+base_1+"epмiз" @@ -14660,9 +14660,9 @@ mkV038 : Str -> V ; mkV038 base = case base of { "пaй"+base_1+"л"+base_2@(?+?)+"у" => lin V - { Infinitive = "пaй"+base_1+"л"+base_2+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "пaй"+base_1+"л"+base_2+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "пaй"+base_1+"л"+base_2+"ып тұpмын" ; @@ -14739,7 +14739,7 @@ mkV038 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "қoл"+base_1+"нғ"+base_2+"мын" ; @@ -14777,7 +14777,7 @@ mkV038 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "пaй"+base_1+"л"+base_2+"aтынмын" ; @@ -14855,7 +14855,7 @@ mkV038 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "пaй"+base_1+"л"+base_2 ; @@ -14877,7 +14877,7 @@ mkV038 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "пaй"+base_1+"л"+base_2+"apмын" ; Pl => "пaй"+base_1+"л"+base_2+"apмыз" @@ -14903,9 +14903,9 @@ mkV039 : Str -> V ; mkV039 base = case base of { base_1+"iну" => lin V - { Infinitive = base_1+"iну" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"iну" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iнiп тұpмын" ; @@ -14982,7 +14982,7 @@ mkV039 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -15020,7 +15020,7 @@ mkV039 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"iнeтiнмiн" ; @@ -15098,7 +15098,7 @@ mkV039 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"iн" ; @@ -15120,7 +15120,7 @@ mkV039 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -15146,9 +15146,9 @@ mkV040 : Str -> V ; mkV040 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп тұpмын" ; @@ -15225,7 +15225,7 @@ mkV040 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"iнгeнмiн" ; @@ -15263,7 +15263,7 @@ mkV040 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -15341,7 +15341,7 @@ mkV040 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -15363,7 +15363,7 @@ mkV040 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"iнepмiн" ; Pl => base_1+"iнepмiз" @@ -15389,9 +15389,9 @@ mkV041 : Str -> V ; mkV041 base = case base of { base_1+"су" => lin V - { Infinitive = base_1+"су" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"су" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"сiп тұpмын" ; @@ -15468,7 +15468,7 @@ mkV041 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"скeнмiн" ; @@ -15506,7 +15506,7 @@ mkV041 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йтiнмiн" ; @@ -15584,7 +15584,7 @@ mkV041 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"с" ; @@ -15606,7 +15606,7 @@ mkV041 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмiн" ; Pl => base_1+"pмiз" @@ -15632,9 +15632,9 @@ mkV042 : Str -> V ; mkV042 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"п жaтыpмын" ; @@ -15711,7 +15711,7 @@ mkV042 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -15749,7 +15749,7 @@ mkV042 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"сeтiнмiн" ; @@ -15827,7 +15827,7 @@ mkV042 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -15849,7 +15849,7 @@ mkV042 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"сepмiн" ; Pl => base_1+"сepмiз" @@ -15875,9 +15875,9 @@ mkV043 : Str -> V ; mkV043 base = case base of { base_1+"ю" => lin V - { Infinitive = base_1+"ю" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ю" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"йiп тұpмын" ; @@ -15954,7 +15954,7 @@ mkV043 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"гeнмiн" ; @@ -15992,7 +15992,7 @@ mkV043 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йeтiнмiн" ; @@ -16070,7 +16070,7 @@ mkV043 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -16092,7 +16092,7 @@ mkV043 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"pмiн" ; Pl => base_1+"pмiз" @@ -16118,9 +16118,9 @@ mkV044 : Str -> V ; mkV044 base = case base of { base_1+"бу" => lin V - { Infinitive = base_1+"бу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"бу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып oтыpмын" ; @@ -16197,7 +16197,7 @@ mkV044 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"бқaнмын" ; @@ -16235,7 +16235,7 @@ mkV044 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"бaтынмын" ; @@ -16313,7 +16313,7 @@ mkV044 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"б" ; @@ -16335,7 +16335,7 @@ mkV044 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"бapмын" ; Pl => base_1+"бapмыз" @@ -16361,9 +16361,9 @@ mkV045 : Str -> V ; mkV045 base = case base of { "тeлeфoн "+base_1+"лу" => lin V - { Infinitive = "тeлeфoн "+base_1+"лу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "тeлeфoн "+base_1+"лу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "тeлeфoн "+base_1+"лып тұpмын" ; @@ -16440,7 +16440,7 @@ mkV045 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => "тeлeфoн "+base_1+"лғaнмын" ; @@ -16478,7 +16478,7 @@ mkV045 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"қыpaтынмын" ; @@ -16556,7 +16556,7 @@ mkV045 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "тeлeфoн "+base_1+"л" ; @@ -16578,7 +16578,7 @@ mkV045 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"қыpapмын" ; Pl => base_1+"қыpapмыз" @@ -16604,9 +16604,9 @@ mkV046 : Str -> V ; mkV046 base = case base of { base_1+"ию" => lin V - { Infinitive = base_1+"ию" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ию" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ип тұpмын" ; @@ -16683,7 +16683,7 @@ mkV046 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"игeнмiн" ; @@ -16721,7 +16721,7 @@ mkV046 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"йeтiнмiн" ; @@ -16799,7 +16799,7 @@ mkV046 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"и" ; @@ -16821,7 +16821,7 @@ mkV046 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"иpмiн" ; Pl => base_1+"иpмiз" @@ -16847,9 +16847,9 @@ mkV047 : Str -> V ; mkV047 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"iп жүpмiн" ; @@ -16926,7 +16926,7 @@ mkV047 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"кeнмiн" ; @@ -16964,7 +16964,7 @@ mkV047 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"eтiнмiн" ; @@ -17042,7 +17042,7 @@ mkV047 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -17064,7 +17064,7 @@ mkV047 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"epмiн" ; Pl => base_1+"epмiз" @@ -17090,9 +17090,9 @@ mkV048 : Str -> V ; mkV048 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"мын" ; @@ -17169,7 +17169,7 @@ mkV048 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ғaнмын" ; @@ -17207,7 +17207,7 @@ mkV048 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -17285,7 +17285,7 @@ mkV048 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -17307,7 +17307,7 @@ mkV048 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -17333,9 +17333,9 @@ mkV049 : Str -> V ; mkV049 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып жaтыpмын" ; @@ -17412,7 +17412,7 @@ mkV049 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қaнмын" ; @@ -17450,7 +17450,7 @@ mkV049 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -17528,7 +17528,7 @@ mkV049 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -17550,7 +17550,7 @@ mkV049 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -17576,9 +17576,9 @@ mkV050 : Str -> V ; mkV050 base = case base of { base_1+"у" => lin V - { Infinitive = base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ып жaтыpмын" ; @@ -17655,7 +17655,7 @@ mkV050 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қaнмын" ; @@ -17693,7 +17693,7 @@ mkV050 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"aтынмын" ; @@ -17771,7 +17771,7 @@ mkV050 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1 ; @@ -17793,7 +17793,7 @@ mkV050 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"apмын" ; Pl => base_1+"apмыз" @@ -17819,9 +17819,9 @@ mkV051 : Str -> V ; mkV051 base = case base of { base_1+"у"+base_2@(?+?+?+?+?+?+?+?+?)+"у" => lin V - { Infinitive = base_1+"у"+base_2+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"у"+base_2+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+base_2+"iп жaтыpмын" ; @@ -17898,7 +17898,7 @@ mkV051 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+base_2+"гeнмiн" ; @@ -17936,7 +17936,7 @@ mkV051 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+base_2+"eтiнмiн" ; @@ -18014,7 +18014,7 @@ mkV051 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+base_2 ; @@ -18036,7 +18036,7 @@ mkV051 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+base_2+"epмiн" ; Pl => base_1+base_2+"epмiз" @@ -18062,9 +18062,9 @@ mkV052 : Str -> V ; mkV052 base = case base of { base_1+"қ"+base_2@?+"pу" => lin V - { Infinitive = base_1+"қ"+base_2+"pу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"қ"+base_2+"pу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"қ"+base_2+"pып тұpмын" ; @@ -18141,7 +18141,7 @@ mkV052 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"қ"+base_2+"pғaнмын" ; @@ -18179,7 +18179,7 @@ mkV052 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "тeлeфoн "+base_1+"лaт"+base_2+"нмын" ; @@ -18257,7 +18257,7 @@ mkV052 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"қ"+base_2+"p" ; @@ -18279,7 +18279,7 @@ mkV052 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "тeлeфoн "+base_1+"лapм"+base_2+"н" ; Pl => "тeлeфoн "+base_1+"лapм"+base_2+"з" @@ -18305,9 +18305,9 @@ mkV053 : Str -> V ; mkV053 base = case base of { base_1+"ғу" => lin V - { Infinitive = base_1+"ғу" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = base_1+"ғу" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => base_1+"ғып жaтыpмын" ; @@ -18384,7 +18384,7 @@ mkV053 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"ққaнмын" ; @@ -18422,7 +18422,7 @@ mkV053 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => base_1+"ғaтынмын" ; @@ -18500,7 +18500,7 @@ mkV053 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => base_1+"ғ" ; @@ -18522,7 +18522,7 @@ mkV053 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => base_1+"ғapмын" ; Pl => base_1+"ғapмыз" @@ -18548,9 +18548,9 @@ mkV054 : Str -> V ; mkV054 base = case base of { "шыд"+base_1+"у" => lin V - { Infinitive = "шыд"+base_1+"у" ; - Indicative = { Fut = nonExist ; - Pres = { Progressive = table { + { infinitive = "шыд"+base_1+"у" ; + indicative = { fut = nonExist ; + pres = { progressive = table { Pos => table { P1 => table { Sg => "шыд"+base_1+"п жaтыpмын" ; @@ -18627,7 +18627,7 @@ mkV054 base = } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => base_1+"лғaнмын" ; @@ -18665,7 +18665,7 @@ mkV054 base = } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => "шыд"+base_1+"йтынмын" ; @@ -18743,7 +18743,7 @@ mkV054 base = } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => "шыд"+base_1 ; @@ -18765,7 +18765,7 @@ mkV054 base = } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => "шыд"+base_1+"pмын" ; Pl => "шыд"+base_1+"pмыз" diff --git a/src/kazakh/PhraseKaz.gf b/src/kazakh/PhraseKaz.gf new file mode 100644 index 00000000..d7edac36 --- /dev/null +++ b/src/kazakh/PhraseKaz.gf @@ -0,0 +1,13 @@ +concrete PhraseKaz of Phrase = CatKaz ** open Prelude, ResKaz in { + + lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttInterj i = i ; + + NoPConj = {s = []} ; + + NoVoc = {s = []} ; + +} diff --git a/src/kazakh/ResKaz.gf b/src/kazakh/ResKaz.gf index 1f5a0912..1bef15bd 100644 --- a/src/kazakh/ResKaz.gf +++ b/src/kazakh/ResKaz.gf @@ -81,12 +81,12 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str param Polarity = Pos | Neg ; -oper Verb = {Infinitive: Str; Indicative: {Fut: Str; Pres: {Progressive: Polarity => Person => Number => Str; noAspect: Polarity => Person => Number => Str}; Past: {Perfect: Polarity => Person => Number => Str; Progressive: Polarity => Person => Number => Str; noAspect: Polarity => Person => Number => Str}}; Imperative_Jussive: Polarity => Formality => Number => Str; Subjunctive: Person => Number => Str} ; -- 113 +oper Verb = {infinitive: Str; indicative: {fut: Str; pres: {progressive: Polarity => Person => Number => Str; noAspect: Polarity => Person => Number => Str}; past: {perfect: Polarity => Person => Number => Str; progressive: Polarity => Person => Number => Str; noAspect: Polarity => Person => Number => Str}}; imperative: Polarity => Formality => Number => Str; subjunctive: Person => Number => Str} ; -- 113 oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65,f66,f67,f68,f69,f70,f71,f72,f73,f74,f75,f76,f77,f78,f79,f80,f81,f82,f83,f84,f85,f86,f87,f88,f89,f90,f91,f92,f93,f94,f95,f96,f97,f98 -> - { Infinitive = f1 ; - Indicative = { Fut = f2 ; - Pres = { Progressive = table { + { infinitive = f1 ; + indicative = { fut = f2 ; + pres = { progressive = table { Pos => table { P1 => table { Sg => f3 ; @@ -163,7 +163,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ } } } ; - Past = { Perfect = table { + past = { perfect = table { Pos => table { P1 => table { Sg => f35 ; @@ -201,7 +201,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ } } } ; - Progressive = table { + progressive = table { Pos => table { P1 => table { Sg => f51 ; @@ -279,7 +279,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ } } } ; - Imperative_Jussive = table { + imperative = table { Pos => table { Informal => table { Sg => f83 ; @@ -301,7 +301,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ } } } ; - Subjunctive = table { + subjunctive = table { P1 => table { Sg => f91 ; Pl => f92 diff --git a/src/korean/ConjunctionKor.gf b/src/korean/ConjunctionKor.gf index 7e69601e..9102d532 100644 --- a/src/korean/ConjunctionKor.gf +++ b/src/korean/ConjunctionKor.gf @@ -143,16 +143,16 @@ oper \\conj => glue (np.s ! Bare) (conjTable ! NStar ! conj ! np.p) ; -- Versions with commas, no repeated conjunctions - baseNPcomma : NP -> NP -> ListNP = \x,y -> y ** { + baseNPcomma : NP -> NP -> ListNP = \x,y -> lin ListNP y ** { firstNP = \\conj => x.s ! Bare ++ BIND ++ "," ; } ; - consNPcomma : NP -> ListNP -> ListNP = \x,xs -> xs ** { + consNPcomma : NP -> ListNP -> ListNP = \x,xs -> lin ListNP xs ** { firstNP = \\conj => x.s ! Bare ++ BIND ++ "," ++ xs.firstNP ! conj ; } ; - conjNPcomma : Conj -> ListNP -> NP = \co,xs -> xs ** { + conjNPcomma : Conj -> ListNP -> NP = \co,xs -> lin NP xs ** { s = \\nf => co.s1 ++ xs.firstNP ! co.c ++ co.s2 diff --git a/src/korean/ExtendKor.gf b/src/korean/ExtendKor.gf index 9e318518..da807854 100644 --- a/src/korean/ExtendKor.gf +++ b/src/korean/ExtendKor.gf @@ -3,10 +3,11 @@ concrete ExtendKor of Extend = CatKor -- ** ExtendFunctor - [ApposNP] -- with (Grammar=GrammarKor) - ** open Prelude, ResKor, NounKor, Coordination in { + ** open Prelude, ResKor, NounKor, Coordination, TenseX in { lin -- : NP -> NP -> NP ApposNP np1 np2 = np1 ** {s = \\nf => np1.s ! nf ++ np2.s ! nf} ; + TPastSimple = TPast ; } ; diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index e2783bc5..cc7e92d4 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -91,7 +91,7 @@ lin come_V = mkV "오다" ; -- lin dig_V = mkV "" ; -- lin dirty_A = mkA "" ; -- lin distance_N3 = mkN "" ; -lin do_V2 = mkV2 do_V ; +lin do_V2 = mkV2 (lin V do_V) ; -- lin doctor_N = mkN "" ; -- lin dog_N = mkN "" ; -- lin door_N = mkN "" ; @@ -209,7 +209,7 @@ lin laugh_V = mkV "웃다" ; -- lin leave_V2 = mkV2 "" ; -- lin leg_N = mkN "" ; -- lin lie_V = mkV "" ; -lin like_V2 = mkV2 (mkV "좋아" do_V) topic object ; +lin like_V2 = mkV2 (mkV "좋아" (lin V do_V)) topic object ; -- lin listen_V2 = mkV2 "" ; -- lin live_V = mkV ""; -- lin liver_N = mkN "" ; @@ -319,7 +319,7 @@ lin shirt_N = mkN "셔츠" "벌" ; -- lin shop_N = mkN "" ; lin short_A = mkA "키가" small_A ; -- "height is small" -- lin silver_N = mkN "" ; -lin sing_V = mkV "노래" do_V ; +lin sing_V = mkV "노래" (lin V do_V) ; -- lin sister_N = mkN "" ; -- lin sit_V = mkV "" ; -- lin skin_N = mkN "" ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index e3ffd334..b9109a6b 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -169,16 +169,16 @@ oper = \x1,x2,x3,x4 -> lin V (mkVerbReg x1 x2 x3 x4) ; } ; - copula = ResKor.copula ; + copula = lin V ResKor.copula ; -- regV : Str -> Verb = \s -> case s of { -- } ; mkV2 = overload { mkV2 : (plain : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ; - mkV2 : V -> V2 = vtov2 ; + mkV2 : V -> V2 = \v -> lin V2 (vtov2 v) ; mkV2 : V -> (subj,obj : CaseParticle) -> V2 = \v,sc,c2 -> - vtov2 v ** {sc = sc ; c2 = c2} ; + lin V2 (vtov2 v ** {sc = sc ; c2 = c2}) ; } ; mkV3 = overload { diff --git a/src/latin/AllLat.gf b/src/latin/AllLat.gf index a978fac3..806c5189 100644 --- a/src/latin/AllLat.gf +++ b/src/latin/AllLat.gf @@ -2,5 +2,5 @@ concrete AllLat of AllLatAbs = LangLat, - ExtraLat - ** {} ; + ExtendLat + ** open ExtraLat in {} ; diff --git a/src/latin/CatLat.gf b/src/latin/CatLat.gf index 8394fe0d..9afb005a 100644 --- a/src/latin/CatLat.gf +++ b/src/latin/CatLat.gf @@ -1,4 +1,4 @@ -concrete CatLat of Cat = CommonX-[Adv] ** open ResLat, ParamX, Prelude in { +concrete CatLat of Cat = CommonX-[Adv] ** open ResLat, Prelude in { flags optimize=all_subs ; @@ -85,7 +85,9 @@ concrete CatLat of Cat = CommonX-[Adv] ** open ResLat, ParamX, Prelude in { N = Noun ; N2 = Noun ** { c : Prep } ; N3 = Noun ** { c : Prep ; c2 : Prep } ; - PN = { s : Case => Str ; n : Number ; g : Gender } ; + PN, LN = { s : Case => Str ; n : Number ; g : Gender } ; + GN = { s : Str ; g : Sex } ; + SN = { s : Sex => Str ; pl : Str } ; A2 = Adjective ** { c : Prep} ; linref diff --git a/src/latin/ConjunctionLat.gf b/src/latin/ConjunctionLat.gf index 8fc2b540..dad07563 100644 --- a/src/latin/ConjunctionLat.gf +++ b/src/latin/ConjunctionLat.gf @@ -72,9 +72,7 @@ concrete ConjunctionLat of Conjunction = -- BaseS : S -> S -> ListS BaseS x y = { - s = \\c => { init = combineSentence x ; last = combineSentence y } ; - p = y.p ; - t = y.t + s = \\c => { init = combineSentence x ; last = combineSentence y } } ; -- ConsS : S -> ListS -> ListS @@ -83,11 +81,9 @@ concrete ConjunctionLat of Conjunction = ConsS s ss = { s = \\co => { init = \\s,a,d,v,c,o => coord co { init = (ss.s ! co).init ! s ! a ! d ! v ! c ! o ; last = (ss.s ! co).last ! s ! a ! d ! v ! c ! o } ; - last = combineSentence s } ; - p = s.p ; - t = s.t + last = combineSentence s } } ; - + -- BaseAdv : Adv -> Adv -> ListAdv BaseAdv x y = { @@ -137,7 +133,7 @@ concrete ConjunctionLat of Conjunction = -- lincat - [S] = { s : Coordinator => {init,last : SAdvPos => AdvPos => DetPos => VPos => ComplPos => Order => Str} ; p : Pol ; t : Tense } ; -- TO FIX + [S] = { s : Coordinator => {init,last : SAdvPos => AdvPos => DetPos => VPos => ComplPos => Order => Str} } ; -- TO FIX [Adv] = { s: Coordinator => {init,last : Str}} ; [NP] = { s : Coordinator => {init,last : PronDropForm => AdvPos => DetPos => Case => Str} ; g : Gender ; n : Number ; p : Person ; isBase : Bool } ; [AP] = {s : Coordinator => {init,last : Agr => Str } } ; diff --git a/src/latin/ExtendLat.gf b/src/latin/ExtendLat.gf index ec214bb8..719f824b 100644 --- a/src/latin/ExtendLat.gf +++ b/src/latin/ExtendLat.gf @@ -259,4 +259,6 @@ concrete ExtendLat of Extend = CatLat ** open ResLat in { -- UttDatIP : IP -> Utt ; -- whom (dative) + TPastSimple = {s = []} ** {t = Past} ; --# notpresent + } diff --git a/src/latin/ExtraLat.gf b/src/latin/ExtraLat.gf index 49542611..f188b9f7 100644 --- a/src/latin/ExtraLat.gf +++ b/src/latin/ExtraLat.gf @@ -58,24 +58,24 @@ concrete ExtraLat of ExtraLatAbs = UttS_VInS s = { s = combineSentence s ! SAPreS ! APreV ! DPostN ! VInS ! CPostV ! SVO } ; TestRCl t p cl = { - s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ; + s = \\g,n => combineSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ; } ; -- UseRCl_OSV : Temp -> Pol -> RCl -> RS ; UseRCl_OSV t p cl = { - s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OSV ; + s = \\g,n => combineSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OSV ; } ; -- UseRCl_OVS : Temp -> Pol -> RCl -> RS ; UseRCl_OVS t p cl = { - s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OVS ; -- SAPreO APreV DPreN VReg CPostV OVS + s = \\g,n => combineSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OVS ; -- SAPreO APreV DPreN VReg CPostV OVS } ; -- UseRCl_SOV : Temp -> Pol -> RCl -> RS ; UseRCl_SOV t p cl = { - s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SOV ; + s = \\g,n => combineSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SOV ; } ; -- UseRCl_SVO : Temp -> Pol -> RCl -> RS ; UseRCl_SVO t p cl = { - s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SVO ; + s = \\g,n => combineSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SVO ; } ; -- PrepNP_DPostN : Prep -> NP -> Adv ; -- in the house PrepNP_DPostN prep np = diff --git a/src/latin/LangLat.gf b/src/latin/LangLat.gf index 09e9d919..e69db27c 100644 --- a/src/latin/LangLat.gf +++ b/src/latin/LangLat.gf @@ -5,6 +5,7 @@ concrete LangLat of Lang = ParadigmsLat, LexiconLat -- ConstructionLat + ,DocumentationLat --# notpresent ** { flags startcat = Phr ; unlexer = text ; lexer = text ; diff --git a/src/latin/MorphoLat.gf b/src/latin/MorphoLat.gf index d3d502a8..51579fc1 100644 --- a/src/latin/MorphoLat.gf +++ b/src/latin/MorphoLat.gf @@ -8,7 +8,7 @@ -- syntax. To build a lexicon, it is better to use $ParadigmsLat$, which -- gives a higher-level access to this module. -resource MorphoLat = ParamX, ResLat ** open Prelude, Predef in { +resource MorphoLat = ResLat ** open Prelude, Predef in { -- -- flags optimize=all ; -- diff --git a/src/latin/NumeralLat.gf b/src/latin/NumeralLat.gf index cb25237a..6c62f531 100644 --- a/src/latin/NumeralLat.gf +++ b/src/latin/NumeralLat.gf @@ -1,4 +1,4 @@ -concrete NumeralLat of Numeral = CatLat, ParamX[Number] ** open ParadigmsLat, Prelude, ResLat, Predef in { +concrete NumeralLat of Numeral = CatLat ** open ParadigmsLat, Prelude, ResLat, Predef in { lincat Digit = TDigit ; Sub10 = TNumeral ; diff --git a/src/latin/ParadigmsLat.gf b/src/latin/ParadigmsLat.gf index 360789ab..97c0fa6d 100644 --- a/src/latin/ParadigmsLat.gf +++ b/src/latin/ParadigmsLat.gf @@ -86,8 +86,8 @@ oper V0 : Type = V; mkV0 = overload { - mkV0 : V -> V0 = \v -> lin V0 v ; -- Same as in english, don't know if it's working - mkV0 : Str -> V0 = \v -> lin V0 (impersonalVerb v) ; + mkV0 : V -> V0 = \v -> lin V v ; -- Same as in english, don't know if it's working + mkV0 : Str -> V0 = \v -> lin V (impersonalVerb v) ; } ; mkV2 = overload { @@ -110,6 +110,12 @@ oper = \p,c -> lin Adv (mkFullAdverb p c nonExist); }; + mkAdV : Str -> AdV + = \s -> lin AdV {s=s} ; + mkAdA : Str -> AdA + = \s -> lin AdA {s=s} ; + mkAdN : Str -> AdN + = \s -> lin AdN {s=s} ; mkConj = overload { @@ -118,7 +124,7 @@ oper mkConj : Str -> Coordinator -> Conjunction = \s,c -> mkConjunction [] s [] Sg c ; } ; - mkPrep : Str -> Case -> Preposition = mkPreposition ; + mkPrep : Str -> Case -> Prep = \s,c -> lin Prep (mkPreposition s c) ; mkPron = mkPronoun ; @@ -147,4 +153,24 @@ oper mkA2V : A -> Prep -> A2V = \a,p -> lin A2V ( lin A2 ( a ** { c = p } ) ) ; AV : Type = A ; mkAV : A -> AV = \a -> lin AV a ; + + mkLN : N -> Number -> LN = \noun,num -> lin LN (noun ** { s = noun.s ! num ; n = num } ) ; + + mkGN = overload { + mkGN : Str -> GN = \s -> lin GN {s = s ; g = Male}; -- default gender male + mkGN : Str -> Sex -> GN = \s,g -> lin GN {s = s ; g = g} ; -- set other gender + } ; + + mkSN = overload { + mkSN : Str -> SN = \s -> lin SN {s = \\_=>s; pl = s}; -- default gender utrum + mkSN : Str -> Str -> Str -> SN = + \male,female,pl -> lin SN {s = table {Male => male; + Female => female} ; + pl = pl + } ; + } ; + + mkInterj : Str -> Interj + = \s -> lin Interj {s=s} ; + } diff --git a/src/latin/QuestionLat.gf b/src/latin/QuestionLat.gf index 75ab28dc..5888daf7 100644 --- a/src/latin/QuestionLat.gf +++ b/src/latin/QuestionLat.gf @@ -21,14 +21,9 @@ concrete QuestionLat of Question = CatLat ** open ResLat, IrregLat, Prelude in { compl = vp.compl ! Ag Masc ip.n Nom ; -- default gender masculine det = { s, sp = \\_ => [] ; n = ip.n } ; } ; - -- let qcl = mkQuestion { s = ip.s ! Nom } ( mkClause emptyNP vp ) - -- in {s = \\t,a,b,qd => qcl.s ! t ! a ! b ! qd} ; -- QuestSlash : IP -> ClSlash -> QCl ; -- whom does John love -- TO FIX - - -- QuestSlash ip slash = - -- mkQuestion (ss ( ip.s ! Acc) ) slash ; -- QuestIAdv : IAdv -> Cl -> QCl QuestIAdv iadv cl = cl ** { q = iadv.s } ; diff --git a/src/latin/ResLat.gf b/src/latin/ResLat.gf index c284e847..b5dcfb65 100644 --- a/src/latin/ResLat.gf +++ b/src/latin/ResLat.gf @@ -2,7 +2,7 @@ --1 Latin auxiliary operations. -resource ResLat = ParamX ** open Prelude, Predef, (C=CommonX) in { +resource ResLat = ParamX - [DTail,T1,T2,T3,inc] ** open Prelude, Predef, (C=CommonX) in { param Case = Nom | Acc | Gen | Dat | Abl | Voc ; @@ -1323,19 +1323,17 @@ oper compl = vp.compl ; adv = vp.adv ++ (a.s ! Posit) } ; - + -- clauses Sentence = { s,o,neg : AdvPos => Str ; -- Subject, verbphrase, object and negation particle plus potential adverb v : AdvPos => Str ; - t : C.Tense ; -- tense marker - p : C.Pol ; -- polarity marker sadv : Str ; -- sentence adverb¡ det : { s , sp : Case => Str } ; compl : Str -- verb complement } ; - + Clause = {s : AdvPos => Str ; o : AdvPos => Str ; @@ -1344,7 +1342,7 @@ oper compl : Str ; neg : Polarity => AdvPos => Str ; adv : Str } ; - QClause = {s : C.Tense => Anteriority => C.Pol => QForm => Str} ; + QClause = {s : Tense => Anteriority => Polarity => QForm => Str} ; mkClause : NounPhrase -> VerbPhrase -> Clause = \np,vp -> let @@ -1390,14 +1388,12 @@ oper adv = "" } ; - combineClause : Clause -> C.Tense -> Anteriority -> C.Pol -> VQForm -> Sentence = \cl,tense,anter,pol,vqf -> + combineClause : Str -> Clause -> Tense -> Anteriority -> Polarity -> VQForm -> Sentence = \params,cl,tense,anter,pol,vqf -> cl ** { - v = \\advpos => cl.v ! tense.t ! anter ! vqf ! advpos ; - neg = cl.neg ! pol.p ; - sadv = cl.adv ; - t = tense ; - p = pol ; + v = \\advpos => params ++ cl.v ! tense ! anter ! vqf ! advpos ; + neg = cl.neg ! pol ; + sadv = cl.adv } ; combineSentence : Sentence -> ( SAdvPos => AdvPos => DetPos => VPos => ComplPos => Order => Str ) = \s -> @@ -1420,37 +1416,31 @@ oper -- complosp is the position of the verb complement \\sadvpos,advpos,detpos,verbpos,complpos,order => case order of { SVO => - s.t.s ++ s.p.s ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom ++ advpreneg sadvpos ++ s.neg ! advpos ++ advprev sadvpos ++ (complprev complpos) ++ (verbreg verbpos) ! advpos ++ (complpostv complpos) ++ advpreo sadvpos ++ s.o ! advpos; VSO => - s.t.s ++ s.p.s ++ advpreneg sadvpos ++ s.neg ! advpos ++ advprev sadvpos ++ (complprev complpos) ++ (verbreg verbpos) ! advpos ++ (complpostv complpos) ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom ++ advpreo sadvpos ++ s.o ! advpos; VOS => - s.t.s ++ s.p.s ++ advpreneg sadvpos ++ s.neg ! advpos ++ advprev sadvpos ++ (complprev complpos) ++ (verbreg verbpos) ! advpos ++ (complpostv complpos) ++ advpreo sadvpos ++ s.o ! advpos ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom ; OSV => - s.t.s ++ s.p.s ++ advpreo sadvpos ++ s.o ! advpos ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom++ advpreneg sadvpos ++ s.neg ! advpos ++ advprev sadvpos ++ (complprev complpos) ++ (verbreg verbpos) ! advpos ++ (complpostv complpos) ; OVS => - s.t.s ++ s.p.s ++ advpreo sadvpos ++ s.o ! advpos ++ advpreneg sadvpos ++ s.neg ! advpos ++ advprev sadvpos ++ (complprev complpos) ++ (verbreg verbpos) ! advpos ++ (complpostv complpos) ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom ; SOV => - s.t.s ++ s.p.s ++ advpres sadvpos ++ (detpren detpos).s ! Nom ++ s.s ! advpos ++ (verbins verbpos) ! advpos ++ (detpostn detpos).s ! Nom ++ (detpren detpos).sp ! Nom ++ advpreo sadvpos ++ s.o ! advpos ++ advpreneg sadvpos ++ s.neg ! advpos ++ @@ -1458,15 +1448,7 @@ oper } ; defaultSentence : Sentence -> Order => Str = \s -> combineSentence s ! SAPreS ! APreV ! DPreN ! VReg ! CPreV ; - - -- questions - mkQuestion : SS -> Clause -> QClause = \ss,cl -> { - s = \\tense,anter,pol,form => case form of { - QDir => ss.s ++ (defaultSentence (combineClause cl tense anter pol VQFalse)) ! OVS ; - QIndir => ss.s ++ (combineSentence (combineClause cl tense anter pol VQFalse)) ! SAPreO ! APreO ! DPreN ! VReg ! CPreV ! OSV - } - }; - + negation : Polarity -> Str = \p -> case p of { Pos => [] ; Neg => "non" diff --git a/src/latin/SentenceLat.gf b/src/latin/SentenceLat.gf index 4dc5e164..a88a4d6e 100644 --- a/src/latin/SentenceLat.gf +++ b/src/latin/SentenceLat.gf @@ -45,12 +45,12 @@ concrete SentenceLat of Sentence = CatLat ** open Prelude, ResLat in { -- EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr -- UseCl t p cl = -- Temp -> Pol-> Cl -> S - (combineClause cl (lin Tense t) t.a (lin Pol p) VQFalse) ; + (combineClause (t.s++p.s) cl t.t t.a p.p VQFalse) ; - -- UseQCl : Temp -> Pol -> QCl -> QS -- maybe use mkQuestion + -- UseQCl : Temp -> Pol -> QCl -> QS UseQCl t p cl = { - s = let qs = combineClause cl t t.a p VQTrue in + s = let qs = combineClause (t.s++p.s) cl t.t t.a p.p VQTrue in \\q => case q of { QDir => cl.q ++ defaultSentence qs ! SVO ; -- t.s ++ p.s ++ cl.q ++ cl.s ! PreV ++ cl.v ! t.t ! t.a ! VQTrue ! PreV ! CPostV ++ cl.o ! PreV ; QIndir => cl.q ++ defaultSentence qs ! SOV -- t.s ++ p.s ++ cl.q ++ cl.s ! PreV ++ cl.o ! PreV ++ cl.v ! t.t ! t.a ! VQTrue ! PreV ! CPostV @@ -58,7 +58,7 @@ concrete SentenceLat of Sentence = CatLat ** open Prelude, ResLat in { } ; -- UseRCl : Temp -> Pol -> RCl -> RS ; UseRCl t p cl = { - s = \\g,n => defaultSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SOV ; + s = \\g,n => defaultSentence (combineClause (t.s++p.s) (cl.s ! g ! n) t.t t.a p.p VQFalse) ! SOV ; -- s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ; -- c = cl.c } ; diff --git a/src/latvian/AdverbLav.gf b/src/latvian/AdverbLav.gf index c7f65c8c..5fcce560 100644 --- a/src/latvian/AdverbLav.gf +++ b/src/latvian/AdverbLav.gf @@ -43,7 +43,7 @@ lin AdnCAdv cadv = { s = case cadv.deg of { Posit => cadv.s ++ cadv.prep ; - _ => NON_EXISTENT + _ => nonExist } } ; diff --git a/src/latvian/CatLav.gf b/src/latvian/CatLav.gf index b4dce679..15fe1eef 100644 --- a/src/latvian/CatLav.gf +++ b/src/latvian/CatLav.gf @@ -112,7 +112,7 @@ lincat PN,LN = ProperNoun ; GN = {s : Case => Str ; gend : Gender} ; - SN = {s : Sex => Case => Str; pl : Case => Str} ; + SN = {s : Gender => Case => Str; pl : Case => Str} ; -- Overriden from CommonX diff --git a/src/latvian/DocumentationLav.gf b/src/latvian/DocumentationLav.gf index 1934e5d8..7667177d 100644 --- a/src/latvian/DocumentationLav.gf +++ b/src/latvian/DocumentationLav.gf @@ -93,12 +93,12 @@ lin InflectionSN = \pn -> { t = "ln" ; s1 = heading1 "Family Name" ; s2 = frameTable ( - tr (th "Nom" ++ td (pn.s ! Male ! Nom)) ++ - tr (th "Acc" ++ td (pn.s ! Male ! Acc)) ++ - tr (th "Dat" ++ td (pn.s ! Male ! Dat)) ++ - tr (th "Gen" ++ td (pn.s ! Male ! Gen)) ++ - tr (th "Loc" ++ td (pn.s ! Male ! Loc)) ++ - tr (th "Voc" ++ td (pn.s ! Male ! Voc))) ; + tr (th "Nom" ++ td (pn.s ! Masc ! Nom)) ++ + tr (th "Acc" ++ td (pn.s ! Masc ! Acc)) ++ + tr (th "Dat" ++ td (pn.s ! Masc ! Dat)) ++ + tr (th "Gen" ++ td (pn.s ! Masc ! Gen)) ++ + tr (th "Loc" ++ td (pn.s ! Masc ! Loc)) ++ + tr (th "Voc" ++ td (pn.s ! Masc ! Voc))) ; s3=[] } ; diff --git a/src/latvian/GrammarLav.gf b/src/latvian/GrammarLav.gf index d28de5f2..b8db60e9 100644 --- a/src/latvian/GrammarLav.gf +++ b/src/latvian/GrammarLav.gf @@ -14,7 +14,9 @@ concrete GrammarLav of Grammar = TextX - [Adv,CAdv], StructuralLav, IdiomLav, - TenseX - [Adv,CAdv] + TenseX - [Adv,CAdv], + NamesLav + ** { flags diff --git a/src/latvian/IdiomLav.gf b/src/latvian/IdiomLav.gf index 81261282..4758a1b6 100644 --- a/src/latvian/IdiomLav.gf +++ b/src/latvian/IdiomLav.gf @@ -57,7 +57,7 @@ lin } ; -- FIXME: placeholder - CleftNP np rs = { s = \\_,_ => NON_EXISTENT } ; - CleftAdv ad s = { s = \\_,_ => NON_EXISTENT } ; + CleftNP np rs = { s = \\_,_ => nonExist } ; + CleftAdv ad s = { s = \\_,_ => nonExist } ; } diff --git a/src/latvian/NamesLav.gf b/src/latvian/NamesLav.gf new file mode 100644 index 00000000..afa6b2e1 --- /dev/null +++ b/src/latvian/NamesLav.gf @@ -0,0 +1,49 @@ +concrete NamesLav of Names = CatLav ** open Prelude, ResLav in { + +lin + GivenName gn = { + s = gn.s ; + agr = AgrP3 Sg gn.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + MaleSurname sn = { + s = sn.s ! Masc ; + agr = AgrP3 Sg Masc ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + FemaleSurname sn = { + s = sn.s ! Fem ; + agr = AgrP3 Sg Fem ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + PlSurname sn = { + s = sn.pl ; + agr = AgrP3 Pl Masc ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + FullName gn sn = { + s = \\c => gn.s ! c ++ sn.s ! gn.gend ! c ; + agr = AgrP3 Sg gn.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + +lin + UseLN, PlainLN = \ln -> { + s = ln.s ; + agr = AgrP3 ln.num ln.gend ; + pol = Pos ; + isRel = False ; + isPron = False + } ; + +} diff --git a/src/latvian/ParadigmsAdjectivesLav.gf b/src/latvian/ParadigmsAdjectivesLav.gf index 30c74666..53dfbf44 100644 --- a/src/latvian/ParadigmsAdjectivesLav.gf +++ b/src/latvian/ParadigmsAdjectivesLav.gf @@ -8,7 +8,7 @@ oper -- ADJECTIVES - -- TODO: Parameters and paradigms should be redesigned due to the many NON_EXISTENT forms..? + -- TODO: Parameters and paradigms should be redesigned due to the many nonExist forms..? -- To keep the code and user interface (parameters) simple, Masc lemmas are expected. @@ -56,7 +56,7 @@ oper s + "ais" => mkAdjective_Pos lemma Def ! g ! n ! c ; _ => mkAdjective_Pos lemma Indef ! g ! n ! c } ; - AAdj _ _ _ _ _ => NON_EXISTENT ; + AAdj _ _ _ _ _ => nonExist ; AAdv d => mkAdjective_Adverb lemma ! d } }; @@ -69,7 +69,7 @@ oper mkAdjective_Participle : Verb -> Voice -> Adjective = \v,p -> { s = table { AAdj Posit Indef g n c => v.s ! Pos ! (VPart p g n c) ; - _ => NON_EXISTENT + _ => nonExist } }; diff --git a/src/latvian/ParadigmsLav.gf b/src/latvian/ParadigmsLav.gf index 470146cd..2f5d868c 100644 --- a/src/latvian/ParadigmsLav.gf +++ b/src/latvian/ParadigmsLav.gf @@ -65,8 +65,8 @@ oper mkSN = overload { mkSN : Str -> SN = \s -> lin SN {s = \\_ => (mkProperNoun s Sg).s; pl = (mkProperNoun s Sg).s}; -- default gender utrum mkSN : Str -> Str -> Str -> SN = - \male,female,pl -> lin SN {s = table {Male => (mkProperNoun male Sg).s; - Female => (mkProperNoun female Sg).s} ; + \male,female,pl -> lin SN {s = table {Masc => (mkProperNoun male Sg).s; + Fem => (mkProperNoun female Sg).s} ; pl = (mkProperNoun pl Sg).s } ; } ; diff --git a/src/latvian/ParadigmsNounsLav.gf b/src/latvian/ParadigmsNounsLav.gf index b0338f32..51a94c5d 100644 --- a/src/latvian/ParadigmsNounsLav.gf +++ b/src/latvian/ParadigmsNounsLav.gf @@ -259,7 +259,7 @@ oper in { s = table { Sg => case stem of { - #exception_D6 => \\_ => NON_EXISTENT ; + #exception_D6 => \\_ => nonExist ; _ => table { Nom => stem + "s" ; Gen => stem + "s" ; @@ -290,17 +290,17 @@ oper Sg => table { Nom => stem + "šanās" ; Gen => stem + "šanās" ; - Dat => NON_EXISTENT ; + Dat => nonExist ; Acc => stem + "šanos" ; - Loc => NON_EXISTENT ; + Loc => nonExist ; Voc => stem + "šanās" } ; Pl => table { Nom => stem + "šanās" ; Gen => stem + "šanos" ; - Dat => NON_EXISTENT ; + Dat => nonExist ; Acc => stem + "šanās" ; - Loc => NON_EXISTENT ; + Loc => nonExist ; Voc => stem + "šanās" } } ; diff --git a/src/latvian/ParadigmsPronounsLav.gf b/src/latvian/ParadigmsPronounsLav.gf index c2e1d87c..0fcc696a 100644 --- a/src/latvian/ParadigmsPronounsLav.gf +++ b/src/latvian/ParadigmsPronounsLav.gf @@ -17,7 +17,7 @@ oper Dat => "man" ; Acc => "mani" ; Loc => "manī" ; - Voc => NON_EXISTENT + Voc => nonExist } ; agr = AgrP1 Sg gend ; poss = table { @@ -68,7 +68,7 @@ oper Dat => "mums" ; Acc => "mūs" ; Loc => "mūsos" ; - Voc => NON_EXISTENT + Voc => nonExist } ; agr = AgrP1 Pl gend ; poss = \\_,_,_ => "mūsu" ; @@ -188,7 +188,7 @@ oper Dat => stem + "am" ; Acc => stem + "u" ; Loc => stem + "ā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => table { Nom => stem + "i" ; @@ -196,7 +196,7 @@ oper Dat => stem + "iem" ; Acc => stem + "us" ; Loc => stem + "os" ; - Voc => NON_EXISTENT + Voc => nonExist } } ; Fem => table { @@ -206,7 +206,7 @@ oper Dat => stem + "ai" ; Acc => stem + "u" ; Loc => stem + "ā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => table { Nom => stem + "as" ; @@ -214,7 +214,7 @@ oper Dat => stem + "ām" ; Acc => stem + "as" ; Loc => stem + "ās" ; - Voc => NON_EXISTENT + Voc => nonExist } } } ; @@ -236,7 +236,7 @@ oper Dat => stem + suff1 + "m" ; Acc => stem + "o" ; Loc => stem + "ajā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => table { Nom => stem + "ie" ; @@ -244,7 +244,7 @@ oper Dat => stem + "iem" ; Acc => stem + "os" ; Loc => stem + "ajos" ; - Voc => NON_EXISTENT + Voc => nonExist } } ; Fem => table { @@ -254,7 +254,7 @@ oper Dat => stem + "ai" ; Acc => stem + "o" ; Loc => stem + "ajā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => table { Nom => stem + suff2 + "s" ; @@ -262,7 +262,7 @@ oper Dat => stem + suff2 + "m" ; Acc => stem + suff2 + "s" ; Loc => stem + "ajās" ; - Voc => NON_EXISTENT + Voc => nonExist } } } ; @@ -278,7 +278,7 @@ oper Dat => case stem of { "kaut" => stem ++ "kam" ; _ => stem + "kam" } ; Acc => case stem of { "kaut" => stem ++ "ko" ; _ => stem + "ko" } ; Loc => case stem of { "kaut" => stem ++ "kur" ; _ => stem + "kur" } ; - Voc => NON_EXISTENT + Voc => nonExist } ! c ; agr = AgrP3 Sg Masc ; poss = \\_,_,_ => case stem of { "kaut" => stem ++ "kā" ; _ => stem + "kā" } ; diff --git a/src/latvian/ParadigmsVerbsLav.gf b/src/latvian/ParadigmsVerbsLav.gf index dcb1e32d..c3c1c3c1 100644 --- a/src/latvian/ParadigmsVerbsLav.gf +++ b/src/latvian/ParadigmsVerbsLav.gf @@ -56,8 +56,8 @@ oper filter_Neg : Verb_TMP -> Verb_TMP = \full -> { s = table { - VDeb => NON_EXISTENT ; - VDebRel => NON_EXISTENT ; + VDeb => nonExist ; + VDebRel => nonExist ; x => full.s ! x } } ; @@ -98,8 +98,8 @@ oper VRel Pres => stem2 + "ot" ; VRel Fut => pal_C1_1 stem3 stem1 + "šot" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => "jā" + stem2 ; VDebRel => "jā" + stem2 + "ot" ; @@ -144,8 +144,8 @@ oper VRel Pres => stem + "jot" ; VRel Fut => stem + "šot" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => "jā" + stem ; VDebRel => "jā" + stem + "jot" ; @@ -190,8 +190,8 @@ oper VRel Pres => pal_C3_1 stem + "ot" ; VRel Fut => stem + "šot" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => pal_C3_3 stem ; VDebRel => pal_C3_3 stem + "ot" ; @@ -240,8 +240,8 @@ oper VRel Pres => stem2 + "oties" ; VRel Fut => pal_C1_1 stem3 stem1 + "šoties" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => "jā" + stem2 + "as" ; VDebRel => "jā" + stem2 + "oties" ; @@ -286,8 +286,8 @@ oper VRel Pres => stem + "joties" ; VRel Fut => stem + "šoties" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => "jā" + stem + "jas" ; VDebRel => "jā" + stem + "joties" ; @@ -332,8 +332,8 @@ oper VRel Pres => pal_C3_1 stem + "oties" ; VRel Fut => stem + "šoties" ; - VRel Past => NON_EXISTENT ; - VRel Cond => NON_EXISTENT ; + VRel Past => nonExist ; + VRel Cond => nonExist ; VDeb => pal_C3_6 stem + "s" ; VDebRel => pal_C3_6 stem + "oties" ; @@ -374,8 +374,8 @@ oper VInd P2 Sg Pres => "neesi" ; VInd P3 _ Pres => "nav" ; - VDeb => NON_EXISTENT ; - VDebRel => NON_EXISTENT ; + VDeb => nonExist ; + VDebRel => nonExist ; x => (mkVerb_C1 "nebūt" "neesu" "nebiju").s ! x -- the incorrect 'neesu' will be overriden } @@ -394,8 +394,8 @@ oper } ; Neg => table { VInd P3 _ Pres => "ne" + pref + "iet" ; - VDeb => NON_EXISTENT ; - VDebRel => NON_EXISTENT ; + VDeb => nonExist ; + VDebRel => nonExist ; x => (mkVerb_C1 ("ne" + pref + "iet") ("ne" + pref + "eju") ("ne" + pref + "gāju")).s ! x } } ; @@ -424,9 +424,9 @@ oper VRel Pres => (mkVerb_C3 "neguļēt").s ! VRel Pres ; - VDeb => NON_EXISTENT ; + VDeb => nonExist ; - VDebRel => NON_EXISTENT ; + VDebRel => nonExist ; x => (mkVerb_C3 "negulēt").s ! x } @@ -559,7 +559,7 @@ oper Dat => stem + "ušam" ; Acc => stem + "ušu" ; Loc => stem + "ušā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => case c of { Nom => stem + "uši" ; @@ -567,7 +567,7 @@ oper Dat => stem + "ušiem" ; Acc => stem + "ušus" ; Loc => stem + "ušos" ; - Voc => NON_EXISTENT + Voc => nonExist } } ; Fem => case n of { @@ -577,7 +577,7 @@ oper Dat => stem + "ušai" ; Acc => stem + "ušu" ; Loc => stem + "ušā" ; - Voc => NON_EXISTENT + Voc => nonExist } ; Pl => case c of { Nom => stem + "ušas" ; @@ -585,7 +585,7 @@ oper Dat => stem + "ušām" ; Acc => stem + "ušas" ; Loc => stem + "ušās" ; - Voc => NON_EXISTENT + Voc => nonExist } } } ; @@ -599,7 +599,7 @@ oper Dat => stem + "tam" ; Acc => stem + "tu" ; Loc => stem + "tā" ; - Voc => NON_EXISTENT -- FIXME: -tais ? + Voc => nonExist -- FIXME: -tais ? } ; Pl => case c of { Nom => stem + "ti" ; @@ -607,7 +607,7 @@ oper Dat => stem + "tiem" ; Acc => stem + "tus" ; Loc => stem + "tos" ; - Voc => NON_EXISTENT -- FIXME: -tie ? + Voc => nonExist -- FIXME: -tie ? } } ; Fem => case n of { @@ -617,7 +617,7 @@ oper Dat => stem + "tai" ; Acc => stem + "tu" ; Loc => stem + "tā" ; - Voc => NON_EXISTENT -- FIXME: -tā ? + Voc => nonExist -- FIXME: -tā ? } ; Pl => case c of { Nom => stem + "tas" ; @@ -625,7 +625,7 @@ oper Dat => stem + "tām" ; Acc => stem + "tas" ; Loc => stem + "tās" ; - Voc => NON_EXISTENT -- FIXME: -tās ? + Voc => nonExist -- FIXME: -tās ? } } } ; @@ -635,37 +635,37 @@ oper Masc => case n of { Sg => case c of { Nom => stem + "ies" ; - Gen => NON_EXISTENT ; - Dat => NON_EXISTENT ; + Gen => nonExist ; + Dat => nonExist ; Acc => stem + "ušos" ; - Loc => NON_EXISTENT ; - Voc => NON_EXISTENT + Loc => nonExist ; + Voc => nonExist } ; Pl => case c of { Nom => stem + "ušies" ; Gen => stem + "ušos" ; - Dat => NON_EXISTENT ; + Dat => nonExist ; Acc => stem + "ušos" ; - Loc => NON_EXISTENT ; - Voc => NON_EXISTENT + Loc => nonExist ; + Voc => nonExist } } ; Fem => case n of { Sg => case c of { Nom => stem + "usies" ; Gen => stem + "ušās" ; - Dat => NON_EXISTENT ; + Dat => nonExist ; Acc => stem + "ušos" ; - Loc => NON_EXISTENT ; - Voc => NON_EXISTENT + Loc => nonExist ; + Voc => nonExist } ; Pl => case c of { Nom => stem + "ušās" ; Gen => stem + "ušos" ; - Dat => NON_EXISTENT ; + Dat => nonExist ; Acc => stem + "ušos" ; - Loc => NON_EXISTENT ; - Voc => NON_EXISTENT + Loc => nonExist ; + Voc => nonExist } } } ; diff --git a/src/latvian/RelativeLav.gf b/src/latvian/RelativeLav.gf index 9190bede..77cc05f7 100644 --- a/src/latvian/RelativeLav.gf +++ b/src/latvian/RelativeLav.gf @@ -63,7 +63,7 @@ lin Dat => "kam" ; Acc => "ko" ; Loc => "kur" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } } ; diff --git a/src/latvian/ResLav.gf b/src/latvian/ResLav.gf index f974e6ab..32ade57b 100644 --- a/src/latvian/ResLav.gf +++ b/src/latvian/ResLav.gf @@ -160,6 +160,4 @@ oper prefix : pattern Str = #("aiz"|"ap"|"at"|"ie"|"iz"|"no"|"pa"|"pār"|"pie"|"sa"|"uz") ; - NON_EXISTENT : Str = "NON_EXISTENT" ; - } diff --git a/src/latvian/SentenceLav.gf b/src/latvian/SentenceLav.gf index a630ee5c..ebc53071 100644 --- a/src/latvian/SentenceLav.gf +++ b/src/latvian/SentenceLav.gf @@ -18,8 +18,7 @@ lin ImpVP vp = { s = \\pol,num => vp.v.s ! pol ! (VImp num) ++ vp.compl ! (AgrP2 num Masc) } ; - SlashVP np vp = mkClause np vp ** { prep = vp.rightVal } ; - -- FIX ME tmp comment + SlashVP np vp = mkClause np (lin VP vp) ** { prep = vp.rightVal } ; AdvSlash slash adv = { s = \\m,p => slash.s ! m ! p ++ adv.s ; @@ -62,8 +61,7 @@ lin UseSlash t p slash = { s = t.s ++ p.s ++ slash.s ! (Ind t.a t.t) ! p.p ; prep = slash.prep } ; - -- FIXME: placeholder - AdvS a s = { s = NON_EXISTENT } ; + AdvS a s = { s = a.s ++ s.s } ; oper -- TODO: PassV2 verbs jāsaskaņo ar objektu, nevis subjektu (by8means_Prep: AgP3 Sg Masc) diff --git a/src/latvian/StructuralLav.gf b/src/latvian/StructuralLav.gf index 577ff1ef..ff5ef842 100644 --- a/src/latvian/StructuralLav.gf +++ b/src/latvian/StructuralLav.gf @@ -176,7 +176,7 @@ lin Dat => "kuram" ; Acc => "kuru" ; Loc => "kurā" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } ; num = Sg } ; @@ -188,7 +188,7 @@ lin Dat => "kuriem" ; Acc => "kurus" ; Loc => "kuros" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } ; num = Pl } ; @@ -200,7 +200,7 @@ lin Dat => "kam" ; Acc => "ko" ; Loc => "kur" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } ; num = Sg } ; @@ -212,7 +212,7 @@ lin Dat => "kam" ; Acc => "ko" ; Loc => "kur" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } ; num = Pl } ; @@ -271,12 +271,12 @@ lin oper reflPron : Case => Str = table { - Nom => NON_EXISTENT ; + Nom => nonExist ; Gen => "sevis" ; Dat => "sev" ; Acc => "sevi" ; Loc => "sevī" ; - ResLav.Voc => NON_EXISTENT + ResLav.Voc => nonExist } ; lai_Subj = ss "lai" ; diff --git a/src/latvian/VerbLav.gf b/src/latvian/VerbLav.gf index 7933f796..070463c4 100644 --- a/src/latvian/VerbLav.gf +++ b/src/latvian/VerbLav.gf @@ -329,7 +329,7 @@ oper Ind Anter tense => (mkV "būt").s ! finalPol ! (VInd agr.pers agr.num tense) ++ part ; --# notpresent -- FIXME(?): Rel _ Past => ... - Rel _ Past => NON_EXISTENT ; --# notpresent + Rel _ Past => nonExist ; --# notpresent Rel Simul tense => v.s ! finalPol ! (VRel tense) ; --# notpresent Rel Anter tense => (mkV "būt").s ! finalPol ! (VRel tense) ++ part ; --# notpresent diff --git a/src/macedonian/AdjectiveMkd.gf b/src/macedonian/AdjectiveMkd.gf new file mode 100644 index 00000000..460121d0 --- /dev/null +++ b/src/macedonian/AdjectiveMkd.gf @@ -0,0 +1,23 @@ +concrete AdjectiveMkd of Adjective = CatMkd ** open Prelude,ResMkd in { + + lin AdAP a ap = {s = \\s,g => a.s ++ ap.s ! s ! g; + isPre = ap.isPre} ; + lin AdjOrd o = {s = o.s; isPre = False} ; + lin AdvAP ap adv = { + s = \\s,g => ap.s ! s ! g ++ adv.s; + isPre = False + } ; + lin CAdvAP c ap np = {s = \\s,g => c.s + ++ ap.s ! s ! g ++ np.s ! RSubj; + isPre = ap.isPre} ; + lin ComparA a np = {s = \\s,g => "по" ++ BIND ++ a.s ! s ! g ++ "од" ++ np.s ! RPrep; + isPre = False} ; + lin ComplA2 a2 np = {s = \\s,g => a2.s ! s ! g ++ a2.c2.s ++ np.s ! RObj a2.c2.c; + isPre = False} ; + lin PositA a = a ** {isPre = True} ; + lin ReflA2 a2 = {s = \\s,g => a2.s ! s ! g; isPre = False} ; + lin SentAP ap sc = {s = \\s,g => ap.s ! s ! g ++ sc.s; + isPre = ap.isPre} ; + lin UseA2 a2 = {s = a2.s; isPre = True} ; + lin UseComparA a = {s = \\s,g => "по" ++ BIND ++ a.s ! s ! g; isPre = True} ; +} diff --git a/src/macedonian/AdverbMkd.gf b/src/macedonian/AdverbMkd.gf new file mode 100644 index 00000000..e41b07b0 --- /dev/null +++ b/src/macedonian/AdverbMkd.gf @@ -0,0 +1,12 @@ +concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in { + lin AdAdv a a2 = {s = a.s ++ a2.s} ; + lin AdnCAdv c = {s = c.s} ; + lin ComparAdvAdj c a np = {s = c.s + ++ a.s ! Indef ! np.a.g ++ np.s ! RSubj} ; + lin ComparAdvAdjS c a s = {s = c.s + ++ a.s ! Indef ! GSg Masc ++ s.s} ; + lin PositAdAAdj a = {s = a.s ! Indef ! GSg Masc} ; + lin PositAdvAdj a = {s = a.s ! Indef ! GSg Masc} ; + lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ; + lin SubjS s s2 = {s = s.s ++ s2.s} ; +} diff --git a/src/macedonian/AllMkd.gf b/src/macedonian/AllMkd.gf index 30bb6409..c4c091c1 100644 --- a/src/macedonian/AllMkd.gf +++ b/src/macedonian/AllMkd.gf @@ -1,7 +1,8 @@ --# -path=.:../abstract:../common:../prelude:../api concrete AllMkd of AllMkdAbs = - LangMkd + LangMkd, + ExtendMkd ** { } ; diff --git a/src/macedonian/AllMkdAbs.gf b/src/macedonian/AllMkdAbs.gf index a05a7809..80702339 100644 --- a/src/macedonian/AllMkdAbs.gf +++ b/src/macedonian/AllMkdAbs.gf @@ -1,7 +1,8 @@ --# -path=.:../abstract:../common:prelude abstract AllMkdAbs = - Lang + Lang, + Extend ** { } ; diff --git a/src/macedonian/CatMkd.gf b/src/macedonian/CatMkd.gf index cc59f448..6a92fd06 100644 --- a/src/macedonian/CatMkd.gf +++ b/src/macedonian/CatMkd.gf @@ -1,23 +1,55 @@ -concrete CatMkd of Cat = CommonX ** open ResMkd, Prelude in { +concrete CatMkd of Cat = CommonX - [Temp,Tense] ** open ParamX, ResMkd, Prelude, Predef in { + +lincat + Temp = {s : Str ; t : ResMkd.Tense ; a : Anteriority} ; + Tense = {s : Str ; t : ResMkd.Tense} ; lincat N = Noun ; lincat N2 = Noun ** {c2 : Compl} ; lincat N3 = Noun ** {c2,c3 : Compl} ; +lincat CN = {s: Species => Number => Str; count_form: Str; vocative: Number => Str; g: Gender} ; lincat V, VA, VV, VS, VQ = Verb ; lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ; lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; lincat A = Adj ; lincat A2 = Adj ** {c2 : Compl} ; -lincat Pron = Pron ; +lincat Pron = Pronoun ; lincat Prep = Compl ; +lincat Decimal = {s : Str; n : Number; hasDot : Bool} ; +lincat Digits = {s : Str; n : Number; tail : DTail} ; linref N,N2,N3 = \n -> n.s ! Indef ! Sg ; linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V = \v -> v.present ! Imperfective ! Sg ! P3 ++ - case v.isRefl of { - True => "се" ; - False => [] + case v.vtype of { + VNormal => [] ; + VMedial Acc => "се" ; + VMedial Dat => "си" } ; linref A, A2 = \a -> a.s ! Indef ! GSg Masc ; +lincat AP = {s : Species => GenNum => Str; isPre : Bool} ; +lincat NP = {s : Role => Str; vocative: Str; a : Agr} ; +lincat Num = {s : Str; n : NNumber} ; +lincat Quant = {s : GenNum => Str; sp : Species} ; +lincat Ord = {s : Species => GenNum => Str} ; +lincat Det, DAP = {s : Gender => Str; n : NNumber; sp : Species} ; + +lincat VP = Verb ** {compl : Agr => Str} ; +lincat VPSlash = Verb ** {compl : Agr => Str; c2 : Compl} ; +lincat S,QS = {s : Str} ; +lincat RS = {s : GenNum => Str} ; +lincat Cl = {s : Order => ResMkd.Tense => Anteriority => Polarity => Str} ; +lincat QCl = {s : ResMkd.Tense => Anteriority => Polarity => Str} ; +lincat RCl = {s : GenNum => ResMkd.Tense => Anteriority => Polarity => Str} ; +lincat RP = {s : GenNum => Str} ; +lincat IP = {s : Str; g : GenNum} ; +lincat IQuant = {s : GenNum => Str} ; +lincat IDet = {s : Gender => Str; n : Number} ; +lincat Subj = {s : Str} ; +lincat Imp = {s : Polarity => GenNum => Str} ; +lincat Comp = {s : GenNum => Str} ; + +lincat Conj = {s : Str; sep : Ints 3; n : Number} ; + } diff --git a/src/macedonian/ConjunctionMkd.gf b/src/macedonian/ConjunctionMkd.gf new file mode 100644 index 00000000..6874da7d --- /dev/null +++ b/src/macedonian/ConjunctionMkd.gf @@ -0,0 +1,104 @@ +--# -coding=utf8 +concrete ConjunctionMkd of Conjunction = + CatMkd ** open ResMkd, Coordination, Prelude, Predef in { + + lin + ConjS conj ss = { + s = linCoord []!conj.sep ++ ss.s!conj.sep ++ conj.s ++ ss.s!4; + } ; + + ConjAdv conj ss = { + s = linCoord []!conj.sep ++ ss.s!conj.sep ++ conj.s ++ ss.s!4; + } ; + + ConjAdV conj ss = { + s = linCoord []!conj.sep ++ ss.s!conj.sep ++ conj.s ++ ss.s!4; + } ; + + ConjIAdv conj ss = { + s = linCoord []!conj.sep ++ ss.s!conj.sep ++ conj.s ++ ss.s!4; + } ; + + ConjNP conj ss = { + s = \\role => linCoord []!conj.sep ++ ss.s!role!conj.sep ++ conj.s ++ ss.s!role!4; + vocative = linCoord []!conj.sep ++ ss.vocative!conj.sep ++ conj.s ++ ss.vocative!4; + a = {g = conjGenNum (genNum Masc conj.n) ss.gn; p = ss.p} + } ; + + ConjAP conj ss = { + s = \\sp,gn => linCoord []!conj.sep ++ ss.s!sp!gn!conj.sep ++ conj.s ++ ss.s!sp!gn!4; + isPre = ss.isPre + } ; + + ConjRS conj ss = { + s = \\gn => linCoord []!conj.sep ++ ss.s!gn!conj.sep ++ conj.s ++ ss.s!gn!4; + } ; + + ConjCN conj ss = { + s = \\sp,n => linCoord []!conj.sep ++ ss.s!sp!n!conj.sep ++ conj.s ++ ss.s!sp!n!4; + count_form = linCoord []!conj.sep ++ ss.count_form!conj.sep ++ conj.s ++ ss.s!Indef!Pl!4; + vocative = \\n => linCoord []!conj.sep ++ ss.vocative!n!conj.sep ++ conj.s ++ ss.vocative!n!4; + g = ss.g + } ; + +-- These fun's are generated from the list cat's. + BaseS x y = {s = table {4 => y.s; _ => x.s}} ; + ConsS x xs = {s = table {4 => xs.s!4; t => x.s++linCoord bindComma!t++xs.s!t}} ; + + BaseAdv x y = {s = table {4 => y.s; _ => x.s}} ; + ConsAdv x xs = {s = table {4 => xs.s!4; t => x.s++linCoord bindComma!t++xs.s!t}} ; + + BaseAdV x y = {s = table {4 => y.s; _ => x.s}} ; + ConsAdV x xs = {s = table {4 => xs.s!4; t => x.s++linCoord bindComma!t++xs.s!t}} ; + + BaseIAdv x y = {s = table {4 => y.s; _ => x.s}} ; + ConsIAdv x xs = {s = table {4 => xs.s!4; t => x.s++linCoord bindComma!t++xs.s!t}} ; + + BaseNP x y = + {s = \\role=>table {4 => y.s!role; _ => x.s!role}; + vocative = table {4 => y.vocative; _ => x.vocative}; + gn = conjGenNum x.a.g y.a.g; + p = x.a.p} ; + ConsNP x xs = + {s = \\role=>table {4 => xs.s!role!4; t => x.s!role++linCoord bindComma!t++xs.s!role!t}; + vocative = table {4 => xs.vocative!4; t => x.vocative++linCoord bindComma!t++xs.vocative!t}; + gn = conjGenNum xs.gn x.a.g; + p = x.a.p} ; + + BaseAP x y = + {s = \\sp,gn => table {4 => y.s!sp!gn; _ => x.s!sp!gn} ; + isPre = andB x.isPre y.isPre} ; + ConsAP x xs = + {s = \\sp,gn => table {4 => xs.s!sp!gn!4; t => x.s!sp!gn++linCoord bindComma!t++xs.s!sp!gn!t}; + isPre = andB x.isPre xs.isPre} ; + + BaseRS x y = + {s = \\gn=>table {4 => y.s!gn; _ => x.s!gn}} ; + ConsRS x xs = + {s = \\gn=>table {4 => xs.s!gn!4; t => x.s!gn++linCoord bindComma!t++xs.s!gn!t}} ; + + BaseCN x y = + {s = \\sp,n=>table {4 => y.s!sp!n; _ => x.s!sp!n}; + count_form = table {4 => y.count_form; t => x.count_form}; + vocative = \\n=>table {4 => y.vocative!n; t => x.vocative!n}; + g = x.g} ; + ConsCN x xs = + {s = \\sp,n=>table {4 => xs.s!sp!n!4; t => x.s!sp!n++linCoord bindComma!t++xs.s!sp!n!t}; + count_form = table {4 => xs.count_form!4; t => x.count_form++linCoord bindComma!t++xs.count_form!t}; + vocative = \\n=>table {4 => xs.vocative!n!4; t => x.vocative!n++linCoord bindComma!t++xs.vocative!n!t}; + g = x.g} ; + + lincat + [S] = {s : Ints 4 => Str} ; + [Adv] = {s : Ints 4 => Str} ; + [AdV] = {s : Ints 4 => Str} ; + [IAdv] = {s : Ints 4 => Str} ; + [NP] = {s : Role => Ints 4 => Str; vocative : Ints 4 => Str; gn : GenNum; p : Person} ; + [AP] = {s : Species => GenNum => Ints 4 => Str; isPre : Bool} ; + [RS] = {s : GenNum => Ints 4 => Str} ; + [CN] = {s : Species => Number => Ints 4 => Str ; + count_form : Ints 4 => Str ; + vocative : Number => Ints 4 => Str ; + g : Gender} ; + +} diff --git a/src/macedonian/DocumentationMkd.gf b/src/macedonian/DocumentationMkd.gf index b08f0f81..470ea374 100644 --- a/src/macedonian/DocumentationMkd.gf +++ b/src/macedonian/DocumentationMkd.gf @@ -117,11 +117,11 @@ lin heading4 ("Минато несвршено време (имперфект)") ++ finite (v.imperfect ! Imperfective) ++ heading3 ("Повелително наклонение") ++ - imperative (v.Imperative ! Imperfective) ++ + imperative (v.imperative ! Imperfective) ++ heading3 ("Партицип") ++ adjForms (v.participle.aorist ! Imperfective) ++ tag "br" ++ - adjForms v.participle.imperfect ++ + adjForms (v.participle.imperfect ! Imperfective) ++ heading2 ("Свършен вид") ++ heading3 ("Изявително наклонение") ++ heading4 ("Сегашно време") ++ @@ -131,9 +131,11 @@ lin heading4 ("Минато несвршено време (имперфект)") ++ finite (v.imperfect ! Perfective) ++ heading3 ("Повелително наклонение") ++ - imperative (v.Imperative ! Perfective) ++ + imperative (v.imperative ! Perfective) ++ heading3 ("Партицип") ++ adjForms (v.participle.aorist ! Perfective) ++ + tag "br" ++ + adjForms (v.participle.imperfect ! Perfective) ++ heading1 ("Именка") ++ v.noun_from_verb ; s3= "" diff --git a/src/macedonian/ExtendMkd.gf b/src/macedonian/ExtendMkd.gf new file mode 100644 index 00000000..de76c13a --- /dev/null +++ b/src/macedonian/ExtendMkd.gf @@ -0,0 +1,38 @@ +--# -path=.:../abstract:../common:prelude +concrete ExtendMkd of Extend = CatMkd ** open ResMkd, ParadigmsMkd, StructuralMkd in { + +lin + CompoundN n1 n2 = + let comp : Species => Number => Str + = \\sp,n => case n1.relType of { + Pref => n1.rel ! sp ! genNum n2.g n ++ n2.s ! sp ! n ; + AdjMod => n1.rel ! sp ! genNum n2.g n ++ n2.s ! Indef ! n ; + AdvMod => n2.s ! sp ! n ++ n1.rel ! sp ! genNum n2.g n + } ; + voc : Number => Str + = \\n => case n1.relType of { + Pref => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; + AdjMod => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; + AdvMod => n2.vocative ! n ++ n1.rel ! Indef ! genNum n2.g n + } + in { + s = comp ; + count_form = comp ! Indef ! Pl ; + vocative = voc ; + rel = \\sp,n => "на" ++ comp ! sp ! Sg ; relType = AdvMod ; + g = n2.g + } ; + + iFem_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Fem) P1 ; + youFem_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Fem) P2 ; + weFem_Pron = we_Pron ; + youPlFem_Pron = youPl_Pron ; + theyFem_Pron = they_Pron ; + youPolFem_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Fem) P2 ; + youPolPl_Pron = youPol_Pron ; + youPolPlFem_Pron = youPol_Pron ; + +lin TPastSimple = {s = []} ** {t = VPastSimple} ; --# notpresent + +} + diff --git a/src/macedonian/GrammarMkd.gf b/src/macedonian/GrammarMkd.gf index b8e0718a..3ffea411 100644 --- a/src/macedonian/GrammarMkd.gf +++ b/src/macedonian/GrammarMkd.gf @@ -1,6 +1,2 @@ -concrete GrammarMkd of Grammar = - TextX, - StructuralMkd, - TenseX ** { - -} ; +concrete GrammarMkd of Grammar = NamesMkd,VerbMkd,SentenceMkd,QuestionMkd,NounMkd,AdverbMkd,AdjectiveMkd,IdiomMkd,NumeralMkd,PhraseMkd,RelativeMkd,TextMkd,StructuralMkd,TenseMkd,ConjunctionMkd ** { +} diff --git a/src/macedonian/IdiomMkd.gf b/src/macedonian/IdiomMkd.gf new file mode 100644 index 00000000..770e1577 --- /dev/null +++ b/src/macedonian/IdiomMkd.gf @@ -0,0 +1,52 @@ +concrete IdiomMkd of Idiom = CatMkd ** open Prelude,ResMkd in { + + lin CleftAdv a s = {s = \\t,a2,p,o => a.s ++ s.s} ; + lin CleftNP np rs = {s = \\t,a,p,o => np.s ! RSubj + ++ rs.s ! np.a.g} ; + lin ExistIP ip = {s = \\t,a,p => ip.s} ; + lin ExistIPAdv ip a = {s = \\t,a2,p => ip.s ++ a.s} ; + lin ExistNP np = {s = \\t,a,p,o => np.s ! RSubj} ; + lin ExistNPAdv np a = {s = \\t,a2,p,o => np.s ! RSubj ++ a.s} ; + lin GenericCl vp = {s = \\t,a,p,o => vp.present ! Imperfective ! Sg + ! P1} ; + lin ImpP3 np vp = {s = np.s ! RSubj + ++ vp.present ! Imperfective ! Sg ! np.a.p} ; + lin ImpPl1 vp = {s = vp.present ! Imperfective ! Sg ! P1} ; + lin ImpersCl vp = {s = \\t,a,p,o => vp.present ! Imperfective ! Sg + ! P1} ; + lin ProgrVP vp = vp ** { + present = \\a,n,p => vp.present ! Imperfective ! n ! p ; + imperfect = \\a,n,p => vp.imperfect ! Imperfective ! n ! p ; + imperative = \\a,n => vp.imperative ! Imperfective ! n ; + participle = {aorist = \\a,gn => vp.participle.aorist ! Imperfective ! gn ; + perfect = \\a => vp.participle.perfect ! Imperfective ; + imperfect = \\a => vp.participle.imperfect ! Imperfective ; + adjectival = vp.participle.adjectival ; + adverbial = vp.participle.adverbial} + } ; + + lin SelfAdVVP vp = {present = \\a,n,p => vp.present ! a ! n ! p; + aorist = \\n,p => vp.aorist ! n ! p; + imperfect = \\a,n,p => vp.imperfect ! a ! n ! p; + imperative = \\a,n => vp.imperative ! a ! n; + participle = {aorist = \\a,g => vp.participle.aorist ! a ! g; + imperfect = \\a,g => vp.participle.imperfect ! a ! g; + perfect = \\a => vp.participle.perfect ! a; + adjectival = \\a => vp.participle.adjectival ! a; + adverbial = vp.participle.adverbial}; + noun_from_verb = vp.noun_from_verb; vtype = vp.vtype; + compl = \\v => vp.compl ! {g = GSg Masc; p = P1}} ; + lin SelfAdvVP vp = {present = \\a,n,p => vp.present ! a ! n ! p; + aorist = \\n,p => vp.aorist ! n ! p; + imperfect = \\a,n,p => vp.imperfect ! a ! n ! p; + imperative = \\a,n => vp.imperative ! a ! n; + participle = {aorist = \\a,g => vp.participle.aorist ! a ! g; + imperfect = \\a,g => vp.participle.imperfect ! a ! g; + perfect = \\a => vp.participle.perfect ! a; + adjectival = \\a => vp.participle.adjectival ! a; + adverbial = vp.participle.adverbial}; + noun_from_verb = vp.noun_from_verb; vtype = vp.vtype; + compl = \\v => vp.compl ! {g = GSg Masc; p = P1}} ; + lin SelfNP np = {s = \\r => np.s ! r; vocative = np.vocative; + a = {g = np.a.g; p = np.a.p}} ; +} diff --git a/src/macedonian/LexiconMkd.gf b/src/macedonian/LexiconMkd.gf index a2a78a8d..a6db6c86 100644 --- a/src/macedonian/LexiconMkd.gf +++ b/src/macedonian/LexiconMkd.gf @@ -3,9 +3,16 @@ concrete LexiconMkd of Lexicon = CatMkd ** lin airplane_N = mkN001 "авион" ; - apple_N = mkN013 "јаболко" ; + apple_N = mkN012 "јаболко" ; bad_A = mkA004 "лош" ; - good_A = mkA005 "добар" ; - die_V = mkV001 "умира" ; + close_V2 = mkV2 (dualV (mkV "затвара") (mkV "затвори")) ; + die_V = dualV (mkV002 "умира") (mkV021 "умре") ; + door_N = mkN008 "врата" ; + factory_N = mkN008 "фабрика" ; + fish_N = mkN "риба" ; + good_A = mkA021 "добар" ; + play_V = mkV001 "игра" ; + man_N = mkN001 "маж" ; + woman_N = mkN "жена" ; } diff --git a/src/macedonian/MorphoMkd.gf b/src/macedonian/MorphoMkd.gf index d6f1ae6f..be9bd351 100644 --- a/src/macedonian/MorphoMkd.gf +++ b/src/macedonian/MorphoMkd.gf @@ -6852,7 +6852,7 @@ mkV001 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -6864,18 +6864,19 @@ mkV001 base_1 = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - perfect = \\_ => nonExist ; + perfect = \\_ => base_1+"но" ; adjectival = \\_ => base_1+"н" ; adverbial = base_1+"јќи" } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV002 : Str -> V ; @@ -6919,7 +6920,7 @@ mkV002 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -6931,7 +6932,8 @@ mkV002 base_1 = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -6942,7 +6944,7 @@ mkV002 base_1 = adverbial = base_1+"јќи" } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV003 : Str -> V ; @@ -6987,7 +6989,7 @@ mkV003 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -6999,7 +7001,8 @@ mkV003 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7010,7 +7013,7 @@ mkV003 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV003" } ; @@ -7057,7 +7060,7 @@ mkV004 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7069,7 +7072,8 @@ mkV004 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7080,7 +7084,7 @@ mkV004 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV004" } ; @@ -7127,7 +7131,7 @@ mkV005 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7139,18 +7143,19 @@ mkV005 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - perfect = \\_ => nonExist ; + perfect = \\_ => base_1+"ено" ; adjectival = \\_ => base_1+"ен" ; adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV005" } ; @@ -7197,7 +7202,7 @@ mkV006 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7209,7 +7214,8 @@ mkV006 base = GSg Neuter => base_1+"ело" ; --guessed GPl => base_1+"еле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7220,7 +7226,7 @@ mkV006 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV006" } ; @@ -7267,7 +7273,7 @@ mkV007 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7279,7 +7285,8 @@ mkV007 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7290,7 +7297,7 @@ mkV007 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV007" } ; @@ -7337,7 +7344,7 @@ mkV008 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; --guessed Pl => base_1+"ете" --guessed @@ -7349,7 +7356,8 @@ mkV008 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -7360,7 +7368,7 @@ mkV008 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV008" } ; @@ -7406,7 +7414,7 @@ mkV009 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7418,7 +7426,8 @@ mkV009 base_1 = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -7429,7 +7438,7 @@ mkV009 base_1 = adverbial = base_1+"јќи" --guessed } ; noun_from_verb = base_1+"ње" ; --guessed - isRefl = False + vtype = VNormal } ; mkV010 : Str -> V ; @@ -7474,7 +7483,7 @@ mkV010 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7486,7 +7495,8 @@ mkV010 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7497,7 +7507,7 @@ mkV010 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV010" } ; @@ -7544,7 +7554,7 @@ mkV011 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7556,7 +7566,8 @@ mkV011 base = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7567,7 +7578,7 @@ mkV011 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV011" } ; @@ -7614,7 +7625,7 @@ mkV012 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7626,7 +7637,8 @@ mkV012 base = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7637,7 +7649,7 @@ mkV012 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV012" } ; @@ -7683,7 +7695,7 @@ mkV013 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7695,18 +7707,19 @@ mkV013 base_1 = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - perfect = \\_ => nonExist ; + perfect = \\_ => base_1+"но" ; adjectival = \\_ => base_1+"н" ; adverbial = base_1+"јќи" } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV014 : Str -> V ; @@ -7751,7 +7764,7 @@ mkV014 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7763,7 +7776,8 @@ mkV014 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7774,7 +7788,7 @@ mkV014 base = adverbial = nonExist } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV014" } ; @@ -7821,7 +7835,7 @@ mkV015 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -7833,7 +7847,8 @@ mkV015 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7844,7 +7859,7 @@ mkV015 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV015" } ; @@ -7891,7 +7906,7 @@ mkV016 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7903,7 +7918,8 @@ mkV016 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -7914,7 +7930,7 @@ mkV016 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV016" } ; @@ -7960,7 +7976,7 @@ mkV017 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -7972,7 +7988,8 @@ mkV017 base_1 = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -7983,7 +8000,7 @@ mkV017 base_1 = adverbial = base_1+"јќи" --guessed } ; noun_from_verb = base_1+"ње" ; --guessed - isRefl = False + vtype = VNormal } ; mkV018 : Str -> V ; @@ -8028,7 +8045,7 @@ mkV018 base = P3 => base_1+"деа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -8040,7 +8057,8 @@ mkV018 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"дел" ; GSg Fem => base_1+"дела" ; GSg Neuter => base_1+"дело" ; @@ -8051,7 +8069,7 @@ mkV018 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV018" } ; @@ -8098,7 +8116,7 @@ mkV019 base = P3 => base_1+"зеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"зи" ; Pl => base_1+"зете" @@ -8110,7 +8128,8 @@ mkV019 base = GSg Neuter => base_1+"гло" ; GPl => base_1+"гле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"зел" ; GSg Fem => base_1+"зела" ; GSg Neuter => base_1+"зело" ; @@ -8121,7 +8140,7 @@ mkV019 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV019" } ; @@ -8168,7 +8187,7 @@ mkV020 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8180,7 +8199,8 @@ mkV020 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8191,7 +8211,7 @@ mkV020 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV020" } ; @@ -8238,7 +8258,7 @@ mkV021 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8250,7 +8270,8 @@ mkV021 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8261,7 +8282,7 @@ mkV021 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV021" } ; @@ -8308,7 +8329,7 @@ mkV022 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -8320,7 +8341,8 @@ mkV022 base = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8331,7 +8353,7 @@ mkV022 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV022" } ; @@ -8378,7 +8400,7 @@ mkV023 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8390,7 +8412,8 @@ mkV023 base = GSg Neuter => base_1+"ало" ; --guessed GPl => base_1+"але" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8401,7 +8424,7 @@ mkV023 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV023" } ; @@ -8448,7 +8471,7 @@ mkV024 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8460,7 +8483,8 @@ mkV024 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8471,7 +8495,7 @@ mkV024 base = adverbial = nonExist } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV024" } ; @@ -8518,7 +8542,7 @@ mkV025 base = P3 => base_1+"сеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"си" ; Pl => base_1+"сете" @@ -8530,7 +8554,8 @@ mkV025 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"сел" ; GSg Fem => base_1+"села" ; GSg Neuter => base_1+"село" ; @@ -8541,7 +8566,7 @@ mkV025 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV025" } ; @@ -8588,7 +8613,7 @@ mkV026 base = P3 => base_1+"деа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ди" ; Pl => base_1+"дете" @@ -8600,7 +8625,8 @@ mkV026 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"дел" ; GSg Fem => base_1+"дела" ; GSg Neuter => base_1+"дело" ; @@ -8611,7 +8637,7 @@ mkV026 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV026" } ; @@ -8658,7 +8684,7 @@ mkV027 base = P3 => base_1+"теа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ти" ; Pl => base_1+"тете" @@ -8670,7 +8696,8 @@ mkV027 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"тел" ; GSg Fem => base_1+"тела" ; GSg Neuter => base_1+"тело" ; @@ -8681,7 +8708,7 @@ mkV027 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV027" } ; @@ -8728,7 +8755,7 @@ mkV028 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8740,7 +8767,8 @@ mkV028 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8751,7 +8779,7 @@ mkV028 base = adverbial = nonExist } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV028" } ; @@ -8798,7 +8826,7 @@ mkV029 base = P3 => base_1+"чеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"чи" ; Pl => base_1+"чете" @@ -8810,7 +8838,8 @@ mkV029 base = GSg Neuter => base_1+"кло" ; GPl => base_1+"кле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"чел" ; GSg Fem => base_1+"чела" ; GSg Neuter => base_1+"чело" ; @@ -8821,7 +8850,7 @@ mkV029 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV029" } ; @@ -8868,7 +8897,7 @@ mkV030 base = P3 => base_1+"чееа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"чеи" ; Pl => base_1+"чеете" @@ -8880,7 +8909,8 @@ mkV030 base = GSg Neuter => base_1+"кло" ; GPl => base_1+"кле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"чеел" ; GSg Fem => base_1+"чеела" ; GSg Neuter => base_1+"чеело" ; @@ -8891,7 +8921,7 @@ mkV030 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV030" } ; @@ -8938,7 +8968,7 @@ mkV031 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -8950,7 +8980,8 @@ mkV031 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -8961,7 +8992,7 @@ mkV031 base = adverbial = nonExist } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV031" } ; @@ -9008,7 +9039,7 @@ mkV032 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9020,7 +9051,8 @@ mkV032 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9031,7 +9063,7 @@ mkV032 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV032" } ; @@ -9078,7 +9110,7 @@ mkV033 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -9090,7 +9122,8 @@ mkV033 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9101,7 +9134,7 @@ mkV033 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV033" } ; @@ -9148,7 +9181,7 @@ mkV034 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -9160,7 +9193,8 @@ mkV034 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9171,7 +9205,7 @@ mkV034 base = adverbial = nonExist } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV034" } ; @@ -9218,7 +9252,7 @@ mkV035 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9230,7 +9264,8 @@ mkV035 base = GSg Neuter => base_1+"ало" ; --guessed GPl => base_1+"але" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9241,7 +9276,7 @@ mkV035 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV035" } ; @@ -9288,7 +9323,7 @@ mkV036 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -9300,7 +9335,8 @@ mkV036 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9311,7 +9347,7 @@ mkV036 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV036" } ; @@ -9358,7 +9394,7 @@ mkV037 base = P3 => base_1+"е"+base_2+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"е"+base_2+"и" ; Pl => base_1+"е"+base_2+"ете" @@ -9370,7 +9406,8 @@ mkV037 base = GSg Neuter => base_1+base_2+"ало" ; GPl => base_1+base_2+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"е"+base_2+"ел" ; GSg Fem => base_1+"е"+base_2+"ела" ; GSg Neuter => base_1+"е"+base_2+"ело" ; @@ -9381,7 +9418,7 @@ mkV037 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV037" } ; @@ -9428,7 +9465,7 @@ mkV038 base = P3 => base_1+"зеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"зи" ; Pl => base_1+"зете" @@ -9440,7 +9477,8 @@ mkV038 base = GSg Neuter => base_1+"гло" ; GPl => base_1+"гле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"зел" ; GSg Fem => base_1+"зела" ; GSg Neuter => base_1+"зело" ; @@ -9451,7 +9489,7 @@ mkV038 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV038" } ; @@ -9498,7 +9536,7 @@ mkV039 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9510,7 +9548,8 @@ mkV039 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9521,7 +9560,7 @@ mkV039 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV039" } ; @@ -9568,7 +9607,7 @@ mkV040 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -9580,7 +9619,8 @@ mkV040 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9591,7 +9631,7 @@ mkV040 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV040" } ; @@ -9638,7 +9678,7 @@ mkV041 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9650,7 +9690,8 @@ mkV041 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -9661,7 +9702,7 @@ mkV041 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV041" } ; @@ -9708,7 +9749,7 @@ mkV042 base = P3 => base_1+"о"+base_2+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"о"+base_2+"и" ; Pl => base_1+"о"+base_2+"ете" @@ -9720,7 +9761,8 @@ mkV042 base = GSg Neuter => base_1+base_2+"ало" ; GPl => base_1+base_2+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"о"+base_2+"ел" ; GSg Fem => base_1+"о"+base_2+"ела" ; GSg Neuter => base_1+"о"+base_2+"ело" ; @@ -9731,7 +9773,7 @@ mkV042 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV042" } ; @@ -9778,7 +9820,7 @@ mkV043 base = P3 => base_1+"еја" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; --guessed Pl => base_1+"јте" --guessed @@ -9790,7 +9832,8 @@ mkV043 base = GSg Neuter => base_1+"ало" ; --guessed GPl => base_1+"але" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -9801,7 +9844,7 @@ mkV043 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV043" } ; @@ -9847,7 +9890,7 @@ mkV044 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9859,7 +9902,8 @@ mkV044 base_1 = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -9870,7 +9914,7 @@ mkV044 base_1 = adverbial = base_1+"јќи" } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV045 : Str -> V ; @@ -9915,7 +9959,7 @@ mkV045 base = P3 => base_1+"деа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ди" ; Pl => base_1+"дете" @@ -9927,7 +9971,8 @@ mkV045 base = GSg Neuter => base_1+"шло" ; GPl => base_1+"шле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"дел" ; GSg Fem => base_1+"дела" ; GSg Neuter => base_1+"дело" ; @@ -9938,7 +9983,7 @@ mkV045 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV045" } ; @@ -9985,7 +10030,7 @@ mkV046 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -9997,7 +10042,8 @@ mkV046 base = GSg Neuter => nonExist ; GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10008,7 +10054,7 @@ mkV046 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV046" } ; @@ -10055,7 +10101,7 @@ mkV047 base = P3 => base_1+"еа" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" --guessed @@ -10067,7 +10113,8 @@ mkV047 base = GSg Neuter => base_1+"ало" ; --guessed GPl => base_1+"але" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -10078,7 +10125,7 @@ mkV047 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV047" } ; @@ -10125,7 +10172,7 @@ mkV048 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -10137,7 +10184,8 @@ mkV048 base = GSg Neuter => base_1+"ло" ; --guessed GPl => base_1+"ле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10148,7 +10196,7 @@ mkV048 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV048" } ; @@ -10195,7 +10243,7 @@ mkV049 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -10207,7 +10255,8 @@ mkV049 base = GSg Neuter => base_1+"јало" ; --guessed GPl => base_1+"јале" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10218,7 +10267,7 @@ mkV049 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV049" } ; @@ -10265,7 +10314,7 @@ mkV050 base = P3 => base_1+base_2+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+base_2+"ј" ; Pl => base_1+base_2+"јте" @@ -10277,7 +10326,8 @@ mkV050 base = GSg Neuter => base_1+base_2+"ло" ; GPl => base_1+base_2+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+base_2+"л" ; GSg Fem => base_1+base_2+"ла" ; GSg Neuter => base_1+base_2+"ло" ; @@ -10288,7 +10338,7 @@ mkV050 base = adverbial = base_1+"и"+base_2+"јќи" } ; noun_from_verb = base_1+"и"+base_2+"ње" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV050" } ; @@ -10334,7 +10384,7 @@ mkV051 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -10346,7 +10396,8 @@ mkV051 base_1 = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -10357,7 +10408,7 @@ mkV051 base_1 = adverbial = base_1+"јќи" } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV052 : Str -> V ; @@ -10402,7 +10453,7 @@ mkV052 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -10414,7 +10465,8 @@ mkV052 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10425,7 +10477,7 @@ mkV052 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV052" } ; @@ -10472,7 +10524,7 @@ mkV053 base = P3 => base_1+"еа" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; --guessed Pl => base_1+"ете" --guessed @@ -10484,7 +10536,8 @@ mkV053 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -10495,7 +10548,7 @@ mkV053 base = adverbial = base_1+"ејќи" --guessed } ; noun_from_verb = base_1+"ење" ; --guessed - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV053" } ; @@ -10542,7 +10595,7 @@ mkV054 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -10554,7 +10607,8 @@ mkV054 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10565,7 +10619,7 @@ mkV054 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV054" } ; @@ -10611,7 +10665,7 @@ mkV055 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -10623,7 +10677,8 @@ mkV055 base_1 = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"л" ; GSg Fem => base_1+"ла" ; GSg Neuter => base_1+"ло" ; @@ -10634,7 +10689,7 @@ mkV055 base_1 = adverbial = nonExist } ; noun_from_verb = base_1+"ње" ; --guessed - isRefl = False + vtype = VNormal } ; mkV056 : Str -> V ; @@ -10679,7 +10734,7 @@ mkV056 base = P3 => base_1+"јдеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"јди" ; Pl => base_1+"јдете" @@ -10691,7 +10746,8 @@ mkV056 base = GSg Neuter => base_1+"шло" ; GPl => base_1+"шле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"јдел" ; GSg Fem => base_1+"јдела" ; GSg Neuter => base_1+"јдело" ; @@ -10702,7 +10758,7 @@ mkV056 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV056" } ; @@ -10749,7 +10805,7 @@ mkV057 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -10761,7 +10817,8 @@ mkV057 base = GSg Neuter => base_1+"ило" ; --guessed GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10772,7 +10829,7 @@ mkV057 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV057" } ; @@ -10819,7 +10876,7 @@ mkV058 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -10831,7 +10888,8 @@ mkV058 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10842,7 +10900,7 @@ mkV058 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV058" } ; @@ -10889,7 +10947,7 @@ mkV059 base = P3 => base_1+"меа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ми" ; Pl => base_1+"мете" @@ -10901,7 +10959,8 @@ mkV059 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"мел" ; GSg Fem => base_1+"мела" ; GSg Neuter => base_1+"мело" ; @@ -10912,7 +10971,7 @@ mkV059 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV059" } ; @@ -10959,7 +11018,7 @@ mkV060 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -10971,7 +11030,8 @@ mkV060 base = GSg Neuter => base_1+"јало" ; GPl => base_1+"јале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -10982,7 +11042,7 @@ mkV060 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV060" } ; @@ -11029,7 +11089,7 @@ mkV061 base = P3 => base_1+"еја" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; --guessed Pl => base_1+"јте" --guessed @@ -11041,7 +11101,8 @@ mkV061 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -11052,7 +11113,7 @@ mkV061 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV061" } ; @@ -11099,7 +11160,7 @@ mkV062 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -11111,7 +11172,8 @@ mkV062 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11122,7 +11184,7 @@ mkV062 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV062" } ; @@ -11169,7 +11231,7 @@ mkV063 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -11181,7 +11243,8 @@ mkV063 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11192,7 +11255,7 @@ mkV063 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV063" } ; @@ -11239,7 +11302,7 @@ mkV064 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -11251,7 +11314,8 @@ mkV064 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11262,7 +11326,7 @@ mkV064 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV064" } ; @@ -11309,7 +11373,7 @@ mkV065 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -11321,7 +11385,8 @@ mkV065 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11332,7 +11397,7 @@ mkV065 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV065" } ; @@ -11379,7 +11444,7 @@ mkV066 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -11391,7 +11456,8 @@ mkV066 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11402,7 +11468,7 @@ mkV066 base = adverbial = base_1+"ејќи" } ; noun_from_verb = base_1+"ење" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV066" } ; @@ -11449,7 +11515,7 @@ mkV067 base = P3 => base_1+"те"+base_2+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"те"+base_2+"и" ; Pl => base_1+"те"+base_2+"ете" @@ -11461,7 +11527,8 @@ mkV067 base = GSg Neuter => base_1+base_2+"ало" ; GPl => base_1+base_2+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"те"+base_2+"ел" ; GSg Fem => base_1+"те"+base_2+"ела" ; GSg Neuter => base_1+"те"+base_2+"ело" ; @@ -11472,7 +11539,7 @@ mkV067 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV067" } ; @@ -11519,7 +11586,7 @@ mkV068 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -11531,7 +11598,8 @@ mkV068 base = GSg Neuter => base_1+"јало" ; GPl => base_1+"јале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11542,7 +11610,7 @@ mkV068 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV068" } ; @@ -11589,7 +11657,7 @@ mkV069 base = P3 => base_1+"јдеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"јди" ; Pl => base_1+"јдете" @@ -11601,7 +11669,8 @@ mkV069 base = GSg Neuter => base_1+"шло" ; GPl => base_1+"шле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"јдел" ; GSg Fem => base_1+"јдела" ; GSg Neuter => base_1+"јдело" ; @@ -11612,7 +11681,7 @@ mkV069 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV069" } ; @@ -11659,7 +11728,7 @@ mkV070 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -11671,7 +11740,8 @@ mkV070 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -11682,7 +11752,7 @@ mkV070 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV070" } ; @@ -11729,7 +11799,7 @@ mkV071 base = P3 => base_1+"чеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"чи" ; Pl => base_1+"чете" @@ -11741,7 +11811,8 @@ mkV071 base = GSg Neuter => base_1+"кало" ; GPl => base_1+"кале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"чел" ; GSg Fem => base_1+"чела" ; GSg Neuter => base_1+"чело" ; @@ -11752,7 +11823,7 @@ mkV071 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV071" } ; @@ -11799,7 +11870,7 @@ mkV072 base = P3 => base_1+"чеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"чи" ; Pl => base_1+"чете" @@ -11811,7 +11882,8 @@ mkV072 base = GSg Neuter => base_1+"кало" ; GPl => base_1+"кале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"чел" ; GSg Fem => base_1+"чела" ; GSg Neuter => base_1+"чело" ; @@ -11822,7 +11894,7 @@ mkV072 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV072" } ; @@ -11869,7 +11941,7 @@ mkV073 base = P3 => base_1+"иеја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"иј" ; Pl => base_1+"ијте" @@ -11881,7 +11953,8 @@ mkV073 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"иел" ; GSg Fem => base_1+"иела" ; GSg Neuter => base_1+"иело" ; @@ -11892,7 +11965,7 @@ mkV073 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV073" } ; @@ -11939,7 +12012,7 @@ mkV074 base = P3 => base_1+"иеја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"иј" ; Pl => base_1+"ијте" @@ -11951,7 +12024,8 @@ mkV074 base = GSg Neuter => base_1+"ало" ; GPl => base_1+"але" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"иел" ; GSg Fem => base_1+"иела" ; GSg Neuter => base_1+"иело" ; @@ -11962,7 +12036,7 @@ mkV074 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV074" } ; @@ -12009,7 +12083,7 @@ mkV075 base = P3 => nonExist } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => nonExist @@ -12021,7 +12095,8 @@ mkV075 base = GSg Neuter => base_1+"ало" ; GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => nonExist ; GSg Fem => nonExist ; GSg Neuter => base_1+"ело" ; @@ -12032,7 +12107,7 @@ mkV075 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV075" } ; @@ -12079,7 +12154,7 @@ mkV076 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -12091,7 +12166,8 @@ mkV076 base = GSg Neuter => base_1+"јало" ; GPl => base_1+"јале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -12102,7 +12178,7 @@ mkV076 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV076" } ; @@ -12149,7 +12225,7 @@ mkV077 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -12161,7 +12237,8 @@ mkV077 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -12172,7 +12249,7 @@ mkV077 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV077" } ; @@ -12219,7 +12296,7 @@ mkV078 base = P3 => base_1+"иеја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"иј" ; Pl => base_1+"ијте" @@ -12231,7 +12308,8 @@ mkV078 base = GSg Neuter => base_1+"ело" ; GPl => base_1+"еле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"иел" ; GSg Fem => base_1+"иела" ; GSg Neuter => base_1+"иело" ; @@ -12242,7 +12320,7 @@ mkV078 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV078" } ; @@ -12289,7 +12367,7 @@ mkV079 base = P3 => base_1+base_2+"леа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+base_2+"ли" ; Pl => base_1+base_2+"лете" @@ -12301,7 +12379,8 @@ mkV079 base = GSg Neuter => base_1+"л"+base_2+"ло" ; GPl => base_1+"л"+base_2+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+base_2+"лел" ; GSg Fem => base_1+base_2+"лела" ; GSg Neuter => base_1+base_2+"лело" ; @@ -12312,7 +12391,7 @@ mkV079 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV079" } ; @@ -12359,7 +12438,7 @@ mkV080 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -12371,7 +12450,8 @@ mkV080 base = GSg Neuter => base_1+"јало" ; GPl => base_1+"јале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -12382,7 +12462,7 @@ mkV080 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV080" } ; @@ -12429,7 +12509,7 @@ mkV081 base = P3 => nonExist } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => nonExist @@ -12441,7 +12521,8 @@ mkV081 base = GSg Neuter => base_1+"ало" ; GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => nonExist ; GSg Fem => nonExist ; GSg Neuter => base_1+"ело" ; @@ -12452,7 +12533,7 @@ mkV081 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV081" } ; @@ -12499,7 +12580,7 @@ mkV082 base = P3 => base_1+"жеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"жи" ; Pl => base_1+"жете" @@ -12511,7 +12592,8 @@ mkV082 base = GSg Neuter => base_1+"гло" ; GPl => base_1+"гле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"жел" ; GSg Fem => base_1+"жела" ; GSg Neuter => base_1+"жело" ; @@ -12522,7 +12604,7 @@ mkV082 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV082" } ; @@ -12569,7 +12651,7 @@ mkV083 base = P3 => base_1+"еја" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; --guessed Pl => base_1+"јте" --guessed @@ -12581,7 +12663,8 @@ mkV083 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" --guessed } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; --guessed GSg Fem => base_1+"ела" ; --guessed GSg Neuter => base_1+"ело" ; @@ -12592,7 +12675,7 @@ mkV083 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV083" } ; @@ -12639,7 +12722,7 @@ mkV084 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -12651,7 +12734,8 @@ mkV084 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -12662,7 +12746,7 @@ mkV084 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV084" } ; @@ -12709,7 +12793,7 @@ mkV085 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -12721,7 +12805,8 @@ mkV085 base = GSg Neuter => base_1+"ило" ; GPl => base_1+"иле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -12732,7 +12817,7 @@ mkV085 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV085" } ; @@ -12779,7 +12864,7 @@ mkV086 base = P3 => base_1+"жеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"жи" ; Pl => base_1+"жете" @@ -12791,7 +12876,8 @@ mkV086 base = GSg Neuter => base_1+"гло" ; GPl => base_1+"гле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"жел" ; GSg Fem => base_1+"жела" ; GSg Neuter => base_1+"жело" ; @@ -12802,7 +12888,7 @@ mkV086 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV086" } ; @@ -12849,7 +12935,7 @@ mkV087 base = P3 => base_1+"деа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ди" ; Pl => base_1+"дете" @@ -12861,7 +12947,8 @@ mkV087 base = GSg Neuter => base_1+"шло" ; GPl => base_1+"шле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"дел" ; GSg Fem => base_1+"дела" ; GSg Neuter => base_1+"дело" ; @@ -12872,7 +12959,7 @@ mkV087 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV087" } ; @@ -12919,7 +13006,7 @@ mkV088 base = P3 => base_1+"чеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"чи" ; Pl => base_1+"чете" @@ -12931,7 +13018,8 @@ mkV088 base = GSg Neuter => base_1+"кло" ; GPl => base_1+"кле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"чел" ; GSg Fem => base_1+"чела" ; GSg Neuter => base_1+"чело" ; @@ -12942,7 +13030,7 @@ mkV088 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV088" } ; @@ -12989,7 +13077,7 @@ mkV089 base = P3 => base_1+base_2+"фи"+base_3+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+base_2+"фи"+base_3+"ј" ; Pl => base_1+base_2+"фи"+base_3+"јте" @@ -13001,7 +13089,8 @@ mkV089 base = GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ; GPl => base_1+base_2+"фи"+base_3+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+base_2+"фи"+base_3+"л" ; GSg Fem => base_1+base_2+"фи"+base_3+"ла" ; GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ; @@ -13012,7 +13101,7 @@ mkV089 base = adverbial = base_1+"фи"+base_2+base_3+"јќи" } ; noun_from_verb = base_1+"фи"+base_2+base_3+"ње" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV089" } ; @@ -13058,7 +13147,7 @@ mkV090 base_1 = P3 => base_1+"а" --guessed } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => nonExist @@ -13070,7 +13159,8 @@ mkV090 base_1 = GSg Neuter => base_1+"ло" ; --guessed GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => nonExist ; GSg Fem => nonExist ; GSg Neuter => base_1+"ло" ; @@ -13081,7 +13171,7 @@ mkV090 base_1 = adverbial = nonExist } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV091 : Str -> V ; @@ -13125,7 +13215,7 @@ mkV091 base_1 = P3 => base_1+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => nonExist @@ -13137,7 +13227,8 @@ mkV091 base_1 = GSg Neuter => base_1+"ло" ; --guessed GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => nonExist ; GSg Fem => nonExist ; GSg Neuter => base_1+"ло" ; @@ -13148,7 +13239,7 @@ mkV091 base_1 = adverbial = nonExist } ; noun_from_verb = base_1+"ње" ; - isRefl = False + vtype = VNormal } ; mkV092 : Str -> V ; @@ -13193,7 +13284,7 @@ mkV092 base = P3 => base_1+"теа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ти" ; Pl => base_1+"тете" @@ -13205,7 +13296,8 @@ mkV092 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"тел" ; GSg Fem => base_1+"тела" ; GSg Neuter => base_1+"тело" ; @@ -13216,7 +13308,7 @@ mkV092 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV092" } ; @@ -13263,7 +13355,7 @@ mkV093 base = P3 => "и"+base_1+"теа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => "и"+base_1+"ти" ; Pl => "и"+base_1+"тете" @@ -13275,7 +13367,8 @@ mkV093 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => "и"+base_1+"тел" ; GSg Fem => "и"+base_1+"тела" ; GSg Neuter => "и"+base_1+"тело" ; @@ -13286,7 +13379,7 @@ mkV093 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV093" } ; @@ -13333,7 +13426,7 @@ mkV094 base = P3 => base_1+"еа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и" ; Pl => base_1+"ете" @@ -13345,7 +13438,8 @@ mkV094 base = GSg Neuter => base_1+"ло" ; GPl => base_1+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -13356,7 +13450,7 @@ mkV094 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV094" } ; @@ -13403,7 +13497,7 @@ mkV097 base = P3 => base_1+"жеа" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"жи" ; Pl => base_1+"жете" @@ -13415,7 +13509,8 @@ mkV097 base = GSg Neuter => base_1+"гало" ; GPl => base_1+"гале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"жел" ; GSg Fem => base_1+"жела" ; GSg Neuter => base_1+"жело" ; @@ -13426,7 +13521,7 @@ mkV097 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV097" } ; @@ -13473,7 +13568,7 @@ mkV098 base = P3 => base_1+"и"+base_2+"а" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"и"+base_2+"ј" ; Pl => base_1+"и"+base_2+"јте" @@ -13485,7 +13580,8 @@ mkV098 base = GSg Neuter => base_1+"и"+base_2+"ло" ; GPl => base_1+"и"+base_2+"ле" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"и"+base_2+"л" ; GSg Fem => base_1+"и"+base_2+"ла" ; GSg Neuter => base_1+"и"+base_2+"ло" ; @@ -13496,7 +13592,7 @@ mkV098 base = adverbial = base_1+base_2+"јќи" } ; noun_from_verb = base_1+base_2+"ње" ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV098" } ; @@ -13543,7 +13639,7 @@ mkV099 base = P3 => base_1+"еја" } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => base_1+"јте" @@ -13555,7 +13651,8 @@ mkV099 base = GSg Neuter => base_1+"јало" ; GPl => base_1+"јале" } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => base_1+"ел" ; GSg Fem => base_1+"ела" ; GSg Neuter => base_1+"ело" ; @@ -13566,7 +13663,7 @@ mkV099 base = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal }; _ => error "Can't apply paradigm mkV099" } ; @@ -13612,7 +13709,7 @@ mkV101 base_1 = P3 => nonExist } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => base_1+"ј" ; Pl => nonExist @@ -13624,7 +13721,8 @@ mkV101 base_1 = GSg Neuter => base_1+"ло" ; GPl => nonExist } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => nonExist ; GSg Fem => nonExist ; GSg Neuter => base_1+"ло" ; @@ -13635,7 +13733,7 @@ mkV101 base_1 = adverbial = nonExist } ; noun_from_verb = nonExist ; - isRefl = False + vtype = VNormal } ; mkA001 : Str -> A ; @@ -15371,13 +15469,10 @@ mkA050 base = } ; mkAdv : Str -> Adv ; -mkAdv base_1 = - lin Adv - { s = base_1 - } ; +mkAdv s = {s=s} ; -mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron = - \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15 -> +mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> GenNum -> Person -> Pronoun = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,g,p -> { s = table { RSubj => f1 ; RObj Acc => f2 ; @@ -15404,7 +15499,8 @@ mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron = GPl => f14 } } ; - poss_clitic = f15 + poss_clitic = f15 ; + a = {g = g; p = p} ; } ; } diff --git a/src/macedonian/NamesMkd.gf b/src/macedonian/NamesMkd.gf new file mode 100644 index 00000000..c9b3caf0 --- /dev/null +++ b/src/macedonian/NamesMkd.gf @@ -0,0 +1,18 @@ +concrete NamesMkd of Names = CatMkd ** open Prelude,ResMkd in { + lin AdjLN ap ln = {s = ap.s ! Indef ! GSg Masc ++ ln.s} ; + lin FemaleSurname sn = {s = \\r => sn.s; vocative = sn.s; + a = {g = GSg Masc; p = P1}} ; + lin FullName gn sn = {s = \\r => gn.s ++ sn.s; + vocative = gn.s ++ sn.s; a = {g = GSg Masc; p = P1}} ; + lin GivenName gn = {s = \\r => gn.s; vocative = gn.s; + a = {g = GSg Masc; p = P1}} ; + lin InLN ln = {s = ln.s} ; + lin MaleSurname sn = {s = \\r => sn.s; vocative = sn.s; + a = {g = GSg Masc; p = P1}} ; + lin PlSurname sn = {s = \\r => sn.s; vocative = sn.s; + a = {g = GSg Masc; p = P1}} ; + lin PlainLN ln = {s = \\r => ln.s; vocative = ln.s; + a = {g = GSg Masc; p = P1}} ; + lin UseLN ln = {s = \\r => ln.s; vocative = ln.s; + a = {g = GSg Masc; p = P1}} ; +} diff --git a/src/macedonian/NounMkd.gf b/src/macedonian/NounMkd.gf new file mode 100644 index 00000000..6c9a84d3 --- /dev/null +++ b/src/macedonian/NounMkd.gf @@ -0,0 +1,154 @@ +concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in { + lin AdNum a c = {s = a.s ++ c.s} ; + lin AdjCN ap cn = { + s = case ap.isPre of { + True => \\s,n => ap.s ! s + ! case n of { + Sg => GSg cn.g; + Pl => GPl + } ++ + cn.s ! Indef ! n; + False => \\s,n => cn.s ! s ! n ++ + ap.s ! Indef + ! case n of { + Sg => GSg cn.g; + Pl => GPl + } + }; + vocative = \\n => ap.s ! Indef + ! case n of { + Sg => GSg cn.g; + Pl => GPl + } ++ + cn.vocative ! n; + count_form = ap.s ! Indef ! GPl ++ cn.count_form; g = cn.g} ; + lin AdjDAP d ap = { + s = \\g => d.s ! g ++ ap.s ! Indef ! genNum g (nnum2num d.n) ; + n = d.n ; + sp = d.sp + } ; + lin AdvCN cn adv = { + s = \\s,n => cn.s ! s ! n ++ adv.s; + count_form = cn.count_form ++ adv.s; + vocative = \\n => cn.vocative ! n ++ adv.s; + g = cn.g + } ; + lin AdvNP np a = {s = \\r => np.s ! r ++ a.s; + vocative = np.vocative ++ a.s; a = np.a} ; + lin ApposCN cn np = {s = \\s,n => cn.s ! s ! n ++ np.s ! RSubj; + count_form = cn.count_form ++ np.s ! RSubj; + vocative = \\n => cn.vocative ! n ++ np.vocative; g = cn.g} ; + lin ComplN2 n2 np = {s = \\s,n => n2.s ! s ! n ++ n2.c2.s ++ np.s ! RObj n2.c2.c; + count_form = n2.count_form ++ n2.c2.s ++ np.s ! RObj n2.c2.c; + vocative = \\n => n2.vocative ! n ++ n2.c2.s ++ np.s ! RObj n2.c2.c; + g = n2.g} ; + lin ComplN3 n3 np = {s = \\s,n => n3.s ! s ! n ++ n3.c2.s ++ np.s ! RObj n3.c2.c; + count_form = n3.count_form ++ n3.c2.s ++ np.s ! RObj n3.c2.c; + vocative = \\n => n3.vocative ! n ++ n3.c2.s ++ np.s ! RObj n3.c2.c; + rel = \\s,g => n3.s ! s ! genNum2num g ++ n3.c2.s ++ np.s ! RObj n3.c2.c; + relType = AdvMod; + g = n3.g; + c2 = n3.c3} ; + lin CountNP d np = {s = \\r => d.s ! Masc ++ np.s ! r; + vocative = d.s ! Masc ++ np.vocative; + a = np.a} ; + lin DefArt = {s = \\_=>[]; sp = Def Unspecified} ; + lin DetCN det cn = { + s = \\r => case det.n of { + NNum n => det.s ! cn.g ++ cn.s ! det.sp ! n; + NCountable => det.s ! cn.g ++ cn.count_form + } ; + vocative = det.s ! cn.g ++ cn.vocative ! nnum2num det.n ; + a = {g = genNum cn.g (nnum2num det.n) ; + p = P3}; + } ; + lin DetDAP d = d ; + lin DetNP d = {s = \\r => d.s ! Masc; vocative = d.s ! Masc; + a = {g = GSg Masc; p = P1}} ; + lin DetQuant q num = {s = \\g => q.s ! genNum g (nnum2num num.n) ++ num.s; + n = num.n; + sp = q.sp} ; + lin DetQuantOrd q n o = { + s = \\g => q.s ! GSg Masc ++ n.s ++ o.s ! q.sp ! genNum g (nnum2num n.n); + n = n.n; + sp = Indef + } ; + lin ExtAdvNP np a = { + s = \\r => np.s ! r ++ SOFT_BIND++"," ++ a.s; + vocative = np.vocative ++ SOFT_BIND++"," ++ a.s; + a = np.a + } ; + lin IndefArt = {s = \\_=>[]; sp = Indef} ; + lin MassNP cn = {s = \\r => cn.s ! Indef ! Sg; + vocative = cn.vocative ! Sg; + a = {g = GSg cn.g; p = P3}} ; + lin NumCard c = {s = c.s; n = NNum Sg} ; + lin NumDecimal d = {s = d.s} ; + lin NumDigits d = {s = d.s} ; + lin NumNumeral n = {s = n.s} ; + lin NumPl = {s = []; n = NNum Pl} ; + lin NumSg = {s = []; n = NNum Sg} ; + lin UseN s = s ; + lin UsePron p = p ** {vocative=p.s ! RSubj} ; + + lin RelNP np rs = { + s = \\r => np.s ! r ++ rs.s ! np.a.g ; + vocative = np.vocative ++ rs.s ! np.a.g ; + a = np.a; + } ; + lin OrdDigits d = {s = \\s,gn => d.s} ; + lin OrdNumeral n = {s = \\s,gn => n.s} ; + lin OrdNumeralSuperl n a = {s = \\s,gn => n.s ++ "нај" ++ BIND ++ a.s ! s ! gn} ; + lin OrdSuperl a = {s = \\s,gn => "нај" ++ BIND ++ a.s ! s ! gn} ; + lin PPartNP np v2 = {s = \\r => np.s ! r + ++ v2.present ! Imperfective ! Sg ! np.a.p; + vocative = np.vocative ++ v2.present ! Imperfective ! Sg ! np.a.p; + a = {g = np.a.g; p = np.a.p}} ; + lin PartNP cn np = {s = \\s,n => cn.s ! s ! n ++ np.s ! RSubj; + count_form = cn.count_form ++ np.s ! RSubj; + vocative = \\n => cn.vocative ! n ++ np.vocative; g = cn.g} ; + lin PossNP cn np = { + s = \\s,n => cn.s ! s ! n ++ "на" ++ np.s ! RObj Acc; + count_form = cn.count_form ++ "на" ++ np.s ! RObj Acc; + vocative = \\n => cn.vocative ! n ++ "на" ++ np.s ! RObj Acc; + g = cn.g + } ; + lin PossPron p = {s = p.poss ! Def Unspecified; sp = Indef} ; + lin PredetNP p np = { + s = \\r => p.s ++ np.s ! r; + vocative = p.s ++ np.vocative; + a = np.a + } ; + lin QuantityNP d mu = + let s = case mu.isPre of { + True => mu.s ++ d.s ; + False => d.s ++ mu.s + } + in { s = \\r => s; + vocative = s; + a = {g = GSg Masc; p = P3} + } ; + lin RelCN cn rs = { + s = \\sp,n => cn.s ! sp ! n ++ rs.s ! genNum cn.g n ; + count_form = cn.count_form ++ rs.s ! GPl ; + vocative = \\n => cn.vocative ! n ++ rs.s ! genNum cn.g n ; + g = cn.g; + } ; + lin SentCN cn sc = {s = \\s,n => cn.s ! s ! n ++ sc.s; + count_form = cn.count_form ++ sc.s; + vocative = \\n => cn.vocative ! n ++ sc.s; g = cn.g} ; + lin Use2N3 n3 = {s = \\s,n => n3.s ! s ! n; + count_form = n3.count_form; vocative = \\n => n3.vocative ! n; + rel = \\s,g => n3.rel ! s ! g; relType = n3.relType; g = n3.g; + c2 = {s = n3.c2.s; c = n3.c2.c}} ; + lin Use3N3 n3 = {s = \\s,n => n3.s ! s ! n; + count_form = n3.count_form; vocative = \\n => n3.vocative ! n; + rel = \\s,g => n3.rel ! s ! g; relType = n3.relType; g = n3.g; + c2 = {s = n3.c2.s; c = n3.c2.c}} ; + lin UseN2 n2 = n2 ; + lin UsePN pn = { + s = \\r => pn.s; + vocative = pn.s; + a = {g = GSg Masc; p = P3} + } ; +} diff --git a/src/macedonian/NumeralMkd.gf b/src/macedonian/NumeralMkd.gf new file mode 100644 index 00000000..e8056a9a --- /dev/null +++ b/src/macedonian/NumeralMkd.gf @@ -0,0 +1,57 @@ +concrete NumeralMkd of Numeral = CatMkd [Numeral,Digits,Decimal] ** open Prelude,ResMkd in { + + lin D_0 = mkDig "0" Pl ; + lin D_1 = mkDig "1" Sg ; + lin D_2 = mkDig "2" Pl ; + lin D_3 = mkDig "3" Pl ; + lin D_4 = mkDig "4" Pl ; + lin D_5 = mkDig "5" Pl ; + lin D_6 = mkDig "6" Pl ; + lin D_7 = mkDig "7" Pl ; + lin D_8 = mkDig "8" Pl ; + lin D_9 = mkDig "9" Pl ; + lincat Dig = {s : Str; n : Number} ; + lincat Digit = {s : Str; teen : Str; ten : Str; hundred : Str} ; + lin IDig d = d ** {tail = T1} ; + lin IFrac ds d = {s = case ds.hasDot of { + True => ds.s; + False => ds.s ++ BIND ++ "," + } ++ BIND ++ d.s; + n = Pl; hasDot = True} ; + lin IIDig d ds = {s = d.s + ++ case ds.tail of { + T3 => BIND ++ "." ++ BIND; + _ => BIND + } ++ ds.s; + n = Pl; tail = inc ds.tail} ; + lin NegDecimal ds = {s = "-" ++ BIND ++ ds.s; n = Pl; + hasDot = False} ; + lin PosDecimal ds = ds ** {hasDot = False} ; + lincat Sub10 = {s : Str; hundred : Str; n : Number} ; + lincat Sub100 = {s : Str; n : Number} ; + oper mkDig : Str -> Number -> {s : Str; n : Number} + = \s,n -> {s = s; n = n} ; + oper mkDigit : Str -> Str -> Str -> Str -> {s : Str; teen : Str; + ten : Str; hundred : Str} + = \s,teen,ten,hundred -> {s = s; teen = teen; ten = ten; + hundred = hundred} ; + lin n2 = mkDigit "два" "дванаесет" "дваесет" "двесто" ; + lin n3 = mkDigit "три" "тринаесет" "триесет" "тристо" ; + lin n4 = mkDigit "четири" "четиринаесет" "четириесет" "четиристо" ; + lin n5 = mkDigit "пет" "петнаесет" "педесет" "петсто" ; + lin n6 = mkDigit "шест" "шеснаесет" "шеесет" "шестсто" ; + lin n7 = mkDigit "седум" "седумнаесет" "седумдесет" "седумсто" ; + lin n8 = mkDigit "осум" "осумнаесет" "осумдесет" "осумсто" ; + lin n9 = mkDigit "девет" "деветнаесет" "деведесет" "деветсто" ; + lin pot0 n = {s = n.s; hundred = n.hundred; n = Pl} ; + lin pot01 = {s = "еден"; hundred = "еднасто"; n = Sg} ; + lin pot0as1 n = n ; + lin pot1 n = {s = n.ten; n = Pl} ; + lin pot110 = {s = "десет"; n = Pl} ; + lin pot111 = {s = "единаесет"; n = Pl} ; + lin pot1as2 n = n ; + lin pot2 n = {s = n.hundred} ; + lin pot2as3 n = n ; + lin pot3as4 n = n ; + lin pot4as5 n = n ; +} diff --git a/src/macedonian/ParadigmsMkd.gf b/src/macedonian/ParadigmsMkd.gf index 053a84bf..f4f7936e 100644 --- a/src/macedonian/ParadigmsMkd.gf +++ b/src/macedonian/ParadigmsMkd.gf @@ -1051,7 +1051,9 @@ mkV = overload { mkV : Str -> Str -> Str -> V = reg3V -- present;Sg;P3 participle;adverbial participle;adjectival } ; -reflV : V -> V = \v -> v ** {isRefl=True} ; +accusative : Case = Acc ; +dative : Case = Dat ; +medialV : V -> Case -> V = \v,c -> v ** {vtype=VMedial c} ; dualV : V -> V -> V = \impf,perf -> lin V { present = table { @@ -1063,15 +1065,18 @@ dualV : V -> V -> V = \impf,perf -> lin V Imperfective => impf.imperfect ! Imperfective ; Perfective => perf.imperfect ! Perfective } ; - Imperative = table { - Imperfective => impf.Imperative ! Imperfective ; - Perfective => perf.Imperative ! Perfective + imperative = table { + Imperfective => impf.imperative ! Imperfective ; + Perfective => perf.imperative ! Perfective } ; participle = { aorist = table { Imperfective => impf.participle.aorist ! Imperfective ; Perfective => perf.participle.aorist ! Perfective } ; - imperfect = impf.participle.imperfect ; + imperfect = table { + Imperfective => impf.participle.imperfect ! Imperfective ; + Perfective => perf.participle.imperfect ! Perfective + } ; perfect = table { Imperfective => impf.participle.perfect ! Imperfective ; Perfective => perf.participle.perfect ! Perfective @@ -1083,9 +1088,26 @@ dualV : V -> V -> V = \impf,perf -> lin V adverbial = impf.participle.adverbial } ; noun_from_verb = impf.noun_from_verb ; - isRefl = impf.isRefl + vtype = impf.vtype } ; +compoundV = overload { + compoundV : V -> Str -> V = \v,s -> lin V { + present = \\a,n,p => v.present ! a ! n ! p ++ s ; + aorist = \\n,p => v.aorist ! n ! p ++ s ; + imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s ; + imperative = \\a,n => v.imperative ! a ! n ++ s ; + participle = { aorist = \\a,gn => v.participle.aorist ! a ! gn ++ s ; + imperfect = \\a,gn => v.participle.imperfect ! a ! gn ++ s ; + perfect = \\a => v.participle.perfect ! a ++ s ; + adjectival = \\a => v.participle.adjectival ! a ++ s ; + adverbial = v.participle.adverbial + } ; + noun_from_verb = v.noun_from_verb ++ s ; + vtype = v.vtype + } +} ; + mkV2 = overload { mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ; mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ; @@ -1102,13 +1124,13 @@ mkV2V = overload { } ; mkV2S = overload { - mkV2S : V -> V2S = \v -> lin V2S v ** {c2,c3=noPrep} ; - mkV2S : V -> Prep -> Prep -> V2S = \v,p2,p3 -> lin V2S v ** {c2=p2; c3=p3} ; + 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,c3=noPrep} ; - mkV2Q : V -> Prep -> Prep -> V2Q = \v,p2,p3 -> lin V2Q v ** {c2=p2; c3=p3} ; + mkV2Q : V -> V2Q = \v -> lin V2Q v ** {c2=noPrep} ; + mkV2Q : V -> Prep -> V2Q = \v,p2 -> lin V2Q v ** {c2=p2} ; } ; mkV2A = overload { @@ -1139,7 +1161,70 @@ mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; -mkPrep : Str -> Prep = \s -> lin Prep {s=s} ; -noPrep : Prep = lin Prep {s=""} ; +mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Acc} ; +noPrep : Prep = lin Prep {s=""; c=Acc} ; + +mkIP : Str -> GenNum -> IP = \s,g -> lin IP {s=s; g=g} ; +mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ; + +mkIQuant : Str -> Str -> Str -> Str -> IQuant = \m,f,n,pl -> + lin IQuant { + s=table { + GSg Masc => m; + GSg Fem => f; + GSg Neuter => n; + GPl => pl + } + } ; + +mkIDet = overload { + mkIDet : Str -> IDet = \s -> lin IDet {s=\\_=>s; n=Pl} ; + mkIDet : Str -> Str -> Str -> IDet = \m,f,n -> + lin IDet { + s=table { + Masc => m ; + Fem => f ; + Neuter => n + } ; + n=Sg; + } ; +} ; + +mkMU : Str -> MU = \s -> lin MU {s=s; isPre = False} ; +mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; + +mkQuant : Str -> Str -> Str -> Str -> Quant = \m,f,n,pl -> + lin Quant { + s=table { + GSg Masc => m; + GSg Fem => f; + GSg Neuter => n; + GPl => pl + } ; + sp=Indef + } ; + +mkDet = overload { + mkDet : Str -> Det = \s -> lin Det {s=\\_=>s; n=NNum Pl; sp=Indef} ; + mkDet : Str -> Str -> Str -> Det = \m,f,n -> + lin Det { + s=table { + Masc => m ; + Fem => f ; + Neuter => n + } ; + n=NNum Sg; + sp=Indef + } ; +} ; + +mkConj : Str -> Number -> Conj = + \s,n -> lin Conj {s = s; sep = 3; n = n} ; + +mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; +mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; +mkCAdv : Str -> CAdv = \s -> lin CAdv {s=s; p=""} ; +mkCard : Str -> Card = \s -> lin Card {s=s} ; +mkACard : Str -> ACard = \s -> lin ACard {s=s} ; } diff --git a/src/macedonian/PhraseMkd.gf b/src/macedonian/PhraseMkd.gf new file mode 100644 index 00000000..fe3fe71f --- /dev/null +++ b/src/macedonian/PhraseMkd.gf @@ -0,0 +1,21 @@ +concrete PhraseMkd of Phrase = CatMkd ** open Prelude, ResMkd in { + lin NoPConj = {s : Str = []} ; + lin NoVoc = {s : Str = []} ; + lin PConjConj c = {s = c.s} ; + lin PhrUtt pconj utt voc = {s : Str = pconj.s ++ utt.s ++ voc.s} ; + lin UttAP ap = {s = ap.s ! Indef ! GSg Masc} ; + lin UttAdv a = {s = a.s} ; + lin UttCN cn = {s = cn.s ! Indef ! Sg} ; + lin UttCard c = {s = c.s} ; + lin UttIAdv i = {s = i.s} ; + lin UttIP ip = {s = ip.s} ; + lin UttImpPl p i = {s = p.s ++ i.s ! p.p ! GPl} ; + lin UttImpPol p i = {s = p.s ++ i.s ! p.p ! GPl} ; + lin UttImpSg p i = {s = p.s ++ i.s ! p.p ! GSg Masc} ; + lin UttInterj i = i ; + lin UttNP np = {s = np.s ! RSubj} ; + lin UttQS s = s ; + lin UttS s = s ; + lin UttVP vp = {s = "да" ++ vp.present ! Perfective ! Sg ! P3 ++ vp.compl ! {g=GSg Masc; p=P3}} ; + lin VocNP np = {s : Str = SOFT_BIND ++ "," ++ np.vocative} ; +} diff --git a/src/macedonian/QuestionMkd.gf b/src/macedonian/QuestionMkd.gf new file mode 100644 index 00000000..83aa6f7b --- /dev/null +++ b/src/macedonian/QuestionMkd.gf @@ -0,0 +1,22 @@ +concrete QuestionMkd of Question = CatMkd ** open Prelude,ResMkd in { + lin AdvIAdv i a = {s = i.s ++ a.s} ; + lin AdvIP ip a = {s = ip.s ++ a.s; g = ip.g} ; + lin CompIAdv i = {s = i.s} ; + lin CompIP ip = {s = ip.s} ; + lin IdetCN idet cn = { + s = idet.s ! cn.g ++ cn.s ! Indef ! idet.n; + g = genNum cn.g idet.n + } ; + lin IdetIP idet = {s = idet.s ! Masc; g = genNum Masc idet.n} ; + lin IdetQuant i n = { + s = \\g => i.s ! GSg Masc ++ n.s; + n = Sg + } ; + lin PrepIP p ip = {s : Str = p.s ++ ip.s} ; + lincat QVP = {s : Str} ; + lin QuestCl cl = {s = cl.s ! Quest} ; + lin QuestIAdv i cl = {s = \\t,a,p => i.s ++ cl.s ! Main ! t ! a ! p} ; + lin QuestIComp i np = {s = \\t,a,p => i.s ++ np.s ! RSubj} ; + lin QuestSlash ip c = {s = \\t,a,p => ip.s ++ c.s} ; + lin QuestVP ip vp = {s = mkClause ip.s {g=ip.g; p=P3} vp ! Main} ; +} diff --git a/src/macedonian/RelativeMkd.gf b/src/macedonian/RelativeMkd.gf new file mode 100644 index 00000000..975eb194 --- /dev/null +++ b/src/macedonian/RelativeMkd.gf @@ -0,0 +1,15 @@ +concrete RelativeMkd of Relative = CatMkd ** open Prelude,ResMkd in { + lin FunRP p np rp = {s = \\g => p.s ++ np.s ! RSubj ++ rp.s ! g} ; + lin IdRP = {s = table { + GSg Masc => "кој" ; + GSg Fem => "која" ; + GSg Neuter => "кое" ; + GPl => "кои" + } + } ; + lin RelCl cl = {s = \\g => cl.s ! Main} ; + lin RelSlash rp c = {s = \\g,t,a,p => rp.s ! g ++ c.s} ; + lin RelVP rp vp = { + s = \\gn => mkClause (rp.s ! gn) {g=gn; p=P3} vp ! Main + } ; +} diff --git a/src/macedonian/ResMkd.gf b/src/macedonian/ResMkd.gf index 7a965e3b..14647b8f 100644 --- a/src/macedonian/ResMkd.gf +++ b/src/macedonian/ResMkd.gf @@ -1,12 +1,16 @@ -resource ResMkd = open Prelude in { +resource ResMkd = ParamX - [Tense] ** open Prelude, Predef in { -oper Compl = {s : Str} ; +oper Compl = {s : Str; c : Case} ; param Species = Indef | Def Distance ; param Distance = Unspecified | Distal | Proximal ; -param Number = Sg | Pl ; param NRelType = Pref | AdjMod | AdvMod ; + NNumber = + NNum Number + | NCountable + ; param Gender = Masc | Fem | Neuter ; +oper Agr = {g : GenNum; p : Person} ; oper Noun = {s: Species => Number => Str; count_form: Str; vocative: Number => Str; rel: Species => GenNum => Str; relType : NRelType; g: Gender} ; -- 24855 oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun = \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,g -> @@ -40,9 +44,18 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun = param Aspect = Imperfective | Perfective ; -param Person = P1 | P3 | P2 ; param GenNum = GSg Gender | GPl ; -oper Verb = {present: Aspect => Number => Person => Str; aorist: Number => Person => Str; imperfect: Aspect => Number => Person => Str; Imperative: Aspect => Number => Str; participle: {aorist: Aspect => GenNum => Str; imperfect: GenNum => Str; perfect: Aspect => Str; adjectival: Aspect => Str; adverbial: Str}; noun_from_verb: Str; isRefl: Bool} ; -- 8174 +param VType = VNormal | VMedial Case ; + Tense = VPresent + | VPastSimple --# notpresent + | VPastImperfect --# notpresent + | VFut --# notpresent + | VCond --# notpresent + ; + + Order = Main | Quest ; + +oper Verb = {present: Aspect => Number => Person => Str; aorist: Number => Person => Str; imperfect: Aspect => Number => Person => Str; imperative: Aspect => Number => Str; participle: {aorist: Aspect => GenNum => Str; imperfect: Aspect => GenNum => Str; perfect: Aspect => Str; adjectival: Aspect => Str; adverbial: Str}; noun_from_verb: Str; vtype: VType} ; -- 8174 oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32 -> { present = \\_ => @@ -83,7 +96,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : P3 => f18 } } ; - Imperative = \\_ => + imperative = \\_ => table { Sg => f19 ; Pl => f20 @@ -95,7 +108,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : GSg Neuter => f23 ; GPl => f24 } ; - imperfect = table { + imperfect = \\_ => + table { GSg Masc => f25 ; GSg Fem => f26 ; GSg Neuter => f27 ; @@ -106,7 +120,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : adverbial = f31 } ; noun_from_verb = f32 ; - isRefl = False + vtype = VNormal } ; @@ -153,12 +167,175 @@ oper mkAdv : Str -> Adv = param Case = Acc | Dat ; param Role = RSubj | RObj Case | RPrep ; -oper Pron = {s : Role => Str; clitic : Case => Str} ; +oper Pronoun = { + s : Role => Str; + clitic : Case => Str; + poss : Species => GenNum => Str ; + poss_clitic : Str ; + a : {g : GenNum; p : Person} + } ; + +conjGenNum : GenNum -> GenNum -> GenNum = \a,b -> + case of { + => GSg g ; + _ => GPl + } ; genNum : Gender -> Number -> GenNum = \g,n -> case n of { Sg => GSg g ; Pl => GPl } ; + +nnum2num : NNumber -> Number = \n -> + case n of { + NNum n => n ; + NCountable => Pl + } ; + +genNum2num : GenNum -> Number = \gn -> + case gn of { + GSg _ => Sg ; + GPl => Pl + } ; + +auxBe = { + present : Number => Person => Str + = table { + Sg => table { + P1 => "сум" ; + P2 => "си" ; + P3 => "е" + } ; + Pl => table { + P1 => "сме" ; + P2 => "сте" ; + P3 => "се" + } + } ; + imperfect : Number => Person => Str + = table { + Sg => table { + P1 => "бев" ; + P2 => "беше" ; + P3 => "беше" + } ; + Pl => table { + P1 => "бевме" ; + P2 => "бевте" ; + P3 => "беа" + } + } ; + imperative : Number => Str = + table { + Sg => "биди" ; + Pl => "бидете" + } ; + participle = { + aorist : GenNum => Str + = table { + GSg Masc => "бил" ; + GSg Fem => "била" ; + GSg Neuter => "било" ; + GPl => "биле" + } ; + imperfect : GenNum => Str + = table { + GSg Masc => "бидел" ; + GSg Fem => "бидела" ; + GSg Neuter => "бидело" ; + GPl => "биделе" + } + } +} ; + +auxHave = { + present : Number => Person => Str + = table { + Sg => table { + P1 => "имам" ; + P2 => "имаш" ; + P3 => "има" + } ; + Pl => table { + P1 => "имаме" ; + P2 => "имате" ; + P3 => "имаат" + } + } ; + imperfect : Number => Person => Str + = table { + Sg => table { + P1 => "имав" ; + P2 => "имаше" ; + P3 => "имаше" + } ; + Pl => table { + P1 => "имавме" ; + P2 => "имавте" ; + P3 => "имаа" + } + } ; + imperative : Number => Str = + table { + Sg => "имај" ; + Pl => "имајте" + } ; + participle = { + imperfect : GenNum => Str + = table { + GSg Masc => "имал" ; + GSg Fem => "имала" ; + GSg Neuter => "имало" ; + GPl => "имале" + } + } +} ; + +mkClause : Str -> Agr -> Verb ** {compl : Agr => Str} -> Order => Tense => Anteriority => Polarity => Str + = \subj,agr,vp -> + let n = case agr.g of { + GSg _ => Sg ; + GPl => Pl + } + in \\o,t,a,p => + case of { + => subj ++ neg ++ se ++ vp.present ! Imperfective ! n ! agr.p ++ li ++ vp.compl ! agr ; + => case o of { + Main => subj ++ neg ++ auxBe.present ! n ! agr.p ++ se ++ vp.participle.imperfect ! Perfective ! agr.g ++ vp.compl ! agr ; + Quest => subj ++ neg ++ se ++ vp.participle.imperfect ! Perfective ! agr.g ++ li ++ auxBe.present ! n ! agr.p ++ vp.compl ! agr + } ; + => subj ++ neg ++ se ++ vp.aorist ! n ! agr.p ++ li ++ vp.compl ! agr ; + => subj ++ neg ++ se ++ auxBe.imperfect ! n ! agr.p ++ li ++ vp.participle.imperfect ! Perfective ! agr.g ++ vp.compl ! agr ; + => subj ++ neg ++ se ++ vp.imperfect ! Perfective ! n ! agr.p ++ li ++ vp.compl ! agr ; + => subj ++ neg ++ se ++ auxBe.imperfect ! n ! agr.p ++ li ++ vp.participle.imperfect ! Perfective ! agr.g ++ vp.compl ! agr ; + => subj ++ fut.p1 ++ se ++ vp.present ! Perfective ! n ! agr.p ++ fut.p2 ++ vp.compl ! agr ; + => subj ++ fut.p1 ++ se ++ auxHave.present ! n ! agr.p ++ fut.p2 ++ vp.participle.perfect ! Perfective ++ vp.compl ! agr ; + => subj ++ neg ++ "би" ++ li ++ se ++ vp.participle.imperfect ! Perfective ! agr.g ++ vp.compl ! agr ; + => subj ++ neg ++ "би" ++ li ++ auxHave.participle.imperfect ! agr.g ++ se ++ vp.participle.perfect ! Perfective ++ vp.compl ! agr + } where { + neg = case p of { + Pos => "" ; + Neg => "не" + } ; + fut = case of { + => <"ке",[]> ; + => <"нема да",[]> ; + => <"ке","ли"> ; + => <"нема ли да",[]> + } ; + li = case o of { + Main => "" ; + Quest => "ли" + } ; + se = case vp.vtype of { + VNormal => "" ; + VMedial Acc => "се" ; + VMedial Dat => "си" + } + } ; + +linCoord : Str -> Ints 4 => Str ; +linCoord comma = table {0 => "и"; 1=>"или"; 2=>"ниту"; 3=>comma; 4=>[]} ; } diff --git a/src/macedonian/SentenceMkd.gf b/src/macedonian/SentenceMkd.gf new file mode 100644 index 00000000..668bd783 --- /dev/null +++ b/src/macedonian/SentenceMkd.gf @@ -0,0 +1,31 @@ +concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in { + lin AdvImp a i = {s = \\p,gn => a.s ++ i.s ! p ! gn} ; + lin AdvS a s = {s = a.s ++ s.s} ; + lin AdvSlash c a = {s = c.s ++ a.s} ; + lin EmbedQS qs = {s = qs.s} ; + lin EmbedS s = {s = s.s} ; + lin EmbedVP vp = {s = "да" ++ vp.present ! Perfective ! Sg ! P3 ++ vp.compl ! {g=GSg Masc; p=P3}} ; + lin ExtAdvS a s = {s = a.s ++ s.s} ; + lin ImpVP vp = { + s = \\p,gn=>case p of { + Pos => vp.imperative ! Perfective ! genNum2num gn ; + Neg => "не" ++ vp.imperative ! Imperfective ! genNum2num gn + } ++ + vp.compl ! {g=gn; p=P2} + } ; + lin PredSCVP sc vp = {s = \\t,a,p,o => sc.s + ++ vp.present ! Imperfective ! Sg ! P1} ; + lin PredVP np vp = {s = mkClause (np.s ! RSubj) np.a vp} ; + lin RelS s rs = {s = s.s ++ rs.s ! GSg Masc} ; + lin SSubjS s s2 s3 = {s = s.s ++ s2.s ++ s3.s} ; + lin SlashPrep cl p = {s = cl.s ! Main ! VPresent ! Simul ! Pos + ++ p.s} ; + lin SlashVP np v = {s = np.s ! RSubj + ++ v.present ! Imperfective ! Sg ! np.a.p} ; + lin SlashVS np vs s = {s = np.s ! RSubj + ++ vs.present ! Imperfective ! Sg ! np.a.p ++ s.s} ; + lin UseCl t p cl = {s = t.s ++ p.s ++ cl.s ! Main ! t.t ! t.a ! p.p} ; + lin UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ; + lin UseRCl t p cl = {s = \\gn => t.s ++ p.s ++ cl.s ! gn ! t.t ! t.a ! p.p} ; + lin UseSlash t p c = {s = t.s ++ p.s ++ c.s} ; +} diff --git a/src/macedonian/StructuralMkd.gf b/src/macedonian/StructuralMkd.gf index a51c1498..0e4b24ec 100644 --- a/src/macedonian/StructuralMkd.gf +++ b/src/macedonian/StructuralMkd.gf @@ -1,13 +1,29 @@ -concrete StructuralMkd of Structural = CatMkd ** open MorphoMkd in { +concrete StructuralMkd of Structural = CatMkd ** open ResMkd,MorphoMkd,ParadigmsMkd in { -lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" ; -lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" ; -lin he_Pron = mkPron "тој" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" ; -lin she_Pron = mkPron "таа" "неа" "ја" "нејзе" "ѝ" "неа" "нејзин" "нејзиниот" "нејзина" "нејзината" "нејзино" "нејзиното" "нејзини" "нејзините" "ѝ" ; -lin it_Pron = mkPron "тоа" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" ; -lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш" "нашиот" "наша" "нашата" "наше" "нашето" "наши" "нашите" "ни" ; -lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" ; -lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" ; -lin they_Pron = mkPron "тие" "нив" "ги" "ним" "им" "нив" "нивен" "нивниот" "нивна" "нивната" "нивно" "нивното" "нивни" "нивните" "им" ; +lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Masc) P1 ; +lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Masc) P2 ; +lin he_Pron = mkPron "тој" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Masc) P3 ; +lin she_Pron = mkPron "таа" "неа" "ја" "нејзе" "ѝ" "неа" "нејзин" "нејзиниот" "нејзина" "нејзината" "нејзино" "нејзиното" "нејзини" "нејзините" "ѝ" (GSg Fem) P3 ; +lin it_Pron = mkPron "тоа" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Neuter) P3 ; +lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш" "нашиот" "наша" "нашата" "наше" "нашето" "наши" "нашите" "ни" GPl P1 ; +lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" GPl P2 ; +lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Masc) P2 ; +lin they_Pron = mkPron "тие" "нив" "ги" "ним" "им" "нив" "нивен" "нивниот" "нивна" "нивната" "нивно" "нивното" "нивни" "нивните" "им" GPl P3 ; +lin this_Quant = mkQuant "овој" "оваа" "ова" "овие" ; +lin that_Quant = mkQuant "тој" "таа" "тоа" "тие" ; +lin how_IAdv = mkIAdv "как" ; +lin how8many_IDet = mkIDet "колку" ; +lin how8much_IAdv = mkIAdv "колку" ; +lin whatSg_IP = mkIP "што" (GSg Masc) ; +lin whatPl_IP = mkIP "што" GPl ; +lin when_IAdv = mkIAdv "кога" ; +lin where_IAdv = mkIAdv "каде" ; +lin which_IQuant = mkIQuant "кој" "која" "кое" "кои" ; +lin whoSg_IP = mkIP "кој" (GSg Masc) ; +lin whoPl_IP = mkIP "кои" GPl ; +lin and_Conj = mkConj "и" Pl ; +lin or_Conj = mkConj "или" Sg ; +lin both7and_DConj = mkConj "и" Pl ** {sep=0} ; +lin either7or_DConj = mkConj "или" Sg ** {sep=1} ; } diff --git a/src/macedonian/TenseMkd.gf b/src/macedonian/TenseMkd.gf new file mode 100644 index 00000000..437e6d67 --- /dev/null +++ b/src/macedonian/TenseMkd.gf @@ -0,0 +1,10 @@ +concrete TenseMkd of Tense = CatMkd[Tense,Temp], TenseX - [Tense,Temp,TTAnt,TPres,TPast,TFut,TCond] ** open ResMkd in { + +lin + TTAnt t a = {s = a.s ++ t.s ; a = a.a ; t = t.t} ; + TPres = {s = []} ** {t = VPresent} ; + TPast = {s = []} ** {t = VPastImperfect} ; --# notpresent + TFut = {s = []} ** {t = VFut} ; --# notpresent + TCond = {s = []} ** {t = VCond} ; --# notpresent + +} diff --git a/src/macedonian/TextMkd.gf b/src/macedonian/TextMkd.gf new file mode 100644 index 00000000..01c7fca3 --- /dev/null +++ b/src/macedonian/TextMkd.gf @@ -0,0 +1,7 @@ +concrete TextMkd of Text = open Prelude in { + lin + TEmpty = {s = []} ; + TFullStop x xs = {s = x.s ++ SOFT_BIND ++ "." ++ xs.s} ; + TQuestMark x xs = {s = x.s ++ SOFT_BIND ++ "?" ++ xs.s} ; + TExclMark x xs = {s = x.s ++ SOFT_BIND ++ "!" ++ xs.s} ; +} diff --git a/src/macedonian/VerbMkd.gf b/src/macedonian/VerbMkd.gf new file mode 100644 index 00000000..3365e586 --- /dev/null +++ b/src/macedonian/VerbMkd.gf @@ -0,0 +1,132 @@ +concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in { + + lin AdVVP a vp = {present = \\a2,n,p => a.s + ++ vp.present ! a2 ! n ! p; + aorist = \\n,p => a.s ++ vp.aorist ! n ! p; + imperfect = \\a2,n,p => a.s ++ vp.imperfect ! a2 ! n ! p; + imperative = \\a2,n => a.s ++ vp.imperative ! a2 ! n; + participle = {aorist = \\a2,g => a.s + ++ vp.participle.aorist ! a2 ! g; + imperfect = \\a2,g => a.s ++ vp.participle.imperfect ! a2 ! g; + perfect = \\a2 => a.s ++ vp.participle.perfect ! a2; + adjectival = \\a2 => a.s ++ vp.participle.adjectival ! a2; + adverbial = a.s ++ vp.participle.adverbial}; + noun_from_verb = a.s ++ vp.noun_from_verb; + vtype = vp.vtype; + compl = vp.compl} ; + lin AdVVPSlash a v = {present = \\a2,n,p => a.s + ++ v.present ! a2 ! n ! p; + aorist = \\n,p => a.s ++ v.aorist ! n ! p; + imperfect = \\a2,n,p => a.s ++ v.imperfect ! a2 ! n ! p; + imperative = \\a2,n => a.s ++ v.imperative ! a2 ! n; + participle = {aorist = \\a2,g => a.s + ++ v.participle.aorist ! a2 ! g; + imperfect = \\a2,g => a.s ++ v.participle.imperfect ! a2 ! g; + perfect = \\a2 => a.s ++ v.participle.perfect ! a2; + adjectival = \\a2 => a.s ++ v.participle.adjectival ! a2; + adverbial = a.s ++ v.participle.adverbial}; + noun_from_verb = a.s ++ v.noun_from_verb; + vtype = v.vtype; + compl = v.compl; + c2 = v.c2} ; + lin AdvVP vp adv = vp ** {compl = \\a => vp.compl ! a ++ adv.s} ; + lin AdvVPSlash vps adv = vps ** {compl = \\a => vps.compl ! a ++ adv.s} ; + lin CompAP ap = {s = \\gn => ap.s ! Indef ! gn} ; + lin CompAdv a = {s = \\_ => a.s} ; + lin CompCN cn = {s = \\_ => cn.s ! Indef ! Sg} ; + lin CompNP np = {s = \\_ => np.s ! RSubj} ; + lin ComplSlash vp np = vp ** {compl = \\a => vp.compl ! a ++ vp.c2.s ++ np.s ! RObj vp.c2.c} ; + lin ComplVA va ap = va ** {compl = \\agr => ap.s ! Indef ! agr.g} ; + lin ComplVQ vq qs = vq ** {compl = \\_ => qs.s} ; + lin ComplVS vs s = vs ** {compl = \\_ => s.s} ; + lin ComplVV vv vp = vv ** {compl = \\agr => "да" ++ vp.present ! Perfective ! genNum2num agr.g ! agr.p ++ vp.compl ! agr} ; + lin ExtAdvVP vp a = vp ** {compl = \\agr => vp.compl ! agr ++ SOFT_BIND++"," ++ a.s} ; + lin Slash2V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p + ++ np.s ! RSubj; + aorist = \\n,p => v3.aorist ! n ! p ++ np.s ! RSubj; + imperfect = \\a,n,p => v3.imperfect ! a ! n ! p ++ np.s ! RSubj; + imperative = \\a,n => v3.imperative ! a ! n ++ np.s ! RSubj; + participle = {aorist = \\a,g => v3.participle.aorist ! a ! g + ++ np.s ! RSubj; + imperfect = \\a,g => v3.participle.imperfect ! a ! g + ++ np.s ! RSubj; + perfect = \\a => v3.participle.perfect ! a ++ np.s ! RSubj; + adjectival = \\a => v3.participle.adjectival ! a + ++ np.s ! RSubj; + adverbial = v3.participle.adverbial ++ np.s ! RSubj}; + noun_from_verb = v3.noun_from_verb ++ np.s ! RSubj; + vtype = v3.vtype; + compl = \\v => v3.present ! Imperfective ! Sg ! v.p + ++ np.s ! RSubj; + c2 = {s = v3.c2.s ++ np.s ! RSubj; c = v3.c2.c}} ; + lin Slash3V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p + ++ np.s ! RSubj; + aorist = \\n,p => v3.aorist ! n ! p ++ np.s ! RSubj; + imperfect = \\a,n,p => v3.imperfect ! a ! n ! p ++ np.s ! RSubj; + imperative = \\a,n => v3.imperative ! a ! n ++ np.s ! RSubj; + participle = {aorist = \\a,g => v3.participle.aorist ! a ! g + ++ np.s ! RSubj; + imperfect = \\a,g => v3.participle.imperfect ! a ! g + ++ np.s ! RSubj; + perfect = \\a => v3.participle.perfect ! a ++ np.s ! RSubj; + adjectival = \\a => v3.participle.adjectival ! a + ++ np.s ! RSubj; + adverbial = v3.participle.adverbial ++ np.s ! RSubj}; + noun_from_verb = v3.noun_from_verb ++ np.s ! RSubj; + vtype = v3.vtype; + compl = \\v => v3.present ! Imperfective ! Sg ! v.p + ++ np.s ! RSubj; + c2 = {s = v3.c2.s ++ np.s ! RSubj; c = v3.c2.c}} ; + lin SlashV2A v ap = v ** {compl = \\agr => ap.s ! Indef ! agr.g} ; + lin SlashV2Q v qs = v ** {compl = \\_ => qs.s} ; + lin SlashV2S v s = v ** {compl = \\_ => s.s} ; + lin SlashV2V v vp = v ** {compl = \\agr => "да" ++ vp.present ! Perfective ! genNum2num agr.g ! agr.p ++ vp.compl ! agr}; + lin SlashV2a v = v ** {compl = \\_ => []} ; + + lin UseComp comp = { + present = \\_=>auxBe.present ; + aorist = auxBe.imperfect ; + imperfect = \\_=>auxBe.imperfect ; + imperative = \\_=>auxBe.imperative ; + participle = {aorist = \\_=>auxBe.participle.aorist ; + imperfect = \\_=>auxBe.participle.imperfect ; + perfect = \\_=>nonExist ; + adjectival = \\_=>nonExist ; + adverbial = nonExist} ; + noun_from_verb = nonExist ; + compl = \\agr=>comp.s ! agr.g ; + vtype=VNormal + } ; + + lin UseCopula = { + present = \\_=>auxBe.present ; + aorist = auxBe.imperfect ; + imperfect = \\_=>auxBe.imperfect ; + imperative = \\_=>auxBe.imperative ; + participle = {aorist = \\_=>auxBe.participle.aorist ; + imperfect = \\_=>auxBe.participle.imperfect ; + perfect = \\_=>nonExist ; + adjectival = \\_=>nonExist ; + adverbial = nonExist} ; + noun_from_verb = nonExist ; + compl = \\_=>[] ; + vtype=VNormal + } ; + + lin UseV v = v ** {compl = \\_ => []} ; + lin VPSlashPrep vp p = {present = \\a,n,p2 => vp.present ! a ! n + ! p2 + ++ p.s; + aorist = \\n,p2 => vp.aorist ! n ! p2 ++ p.s; + imperfect = \\a,n,p2 => vp.imperfect ! a ! n ! p2 ++ p.s; + imperative = \\a,n => vp.imperative ! a ! n ++ p.s; + participle = {aorist = \\a,g => vp.participle.aorist ! a ! g + ++ p.s; + imperfect = \\a,g => vp.participle.imperfect ! a ! g ++ p.s; + perfect = \\a => vp.participle.perfect ! a ++ p.s; + adjectival = \\a => vp.participle.adjectival ! a ++ p.s; + adverbial = vp.participle.adverbial ++ p.s}; + noun_from_verb = vp.noun_from_verb ++ p.s; vtype = vp.vtype; + compl = \\v => vp.compl ! {g = GSg Masc; p = P1} ++ p.s; + c2 = {s = vp.present ! Imperfective ! Sg ! P1 ++ p.s; c = p.c}} ; +} diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index 18cb71f7..68ca7f79 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -10,6 +10,22 @@ oper -- defined in $ResSom$. noPrep : Prep = mkPrep "" ; + emptyPrep : Prep = lin Prep { + s = [] ; + obj = \\_ => [] ; + prepType = EmptyPrep ; + } ; + datPrep : Prep = mkPrep "kepada" ; + + -- direct object: "hits him" -> "memukul+nya" + dirPrep : Prep = lin Prep { + s = [] ; + obj = table { + P1 => BIND ++ "ku" ; + P2 => BIND ++ "mu" ; + P3 => BIND ++ "nya" } ; + prepType = DirObj ; + } ; --2 Nouns @@ -192,9 +208,16 @@ oper mkV2S = overload { mkV2S : Str -> V2S = \v -> lin V2S (mkVerb2 (regVerb v Meng) dirPrep) ; - mkV2S : V -> Prep -> V2S = \v,p -> lin V22 (mkVerb2 v p) + mkV2S : V -> Prep -> V2S = \v,p -> lin V2S (mkVerb2 v p) } ; + + mkPrep : Str -> Prep = \dengan -> lin Prep { + s = dengan ; + obj = \\p => dengan + poss2str (Poss p) ; + prepType = OtherPrep ; + } ; + -- lin like_V2 = let like' : V2 = mkV2 "suka" in like' ** { -- s = table {Passive => "disukai" ; _ => "suka"} ; -- } ; diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index 9fd53433..1fdf7682 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -167,31 +167,6 @@ oper prepType : PrepType ; -- TODO rename, the name is confusing } ; - mkPrep : Str -> Preposition = \dengan -> { - s = dengan ; - obj = \\p => dengan + poss2str (Poss p) ; - prepType = OtherPrep ; - } ; - - -- direct object: "hits him" -> "memukul+nya" - dirPrep : Preposition = { - s = [] ; - obj = table { - P1 => BIND ++ "ku" ; - P2 => BIND ++ "mu" ; - P3 => BIND ++ "nya" } ; - prepType = DirObj ; - } ; - - -- truly empty - emptyPrep : Preposition = { - s = [] ; - obj = \\_ => [] ; - prepType = EmptyPrep ; - } ; - - datPrep : Preposition = mkPrep "kepada" ; - applyPrep : Preposition -> NounPhrase -> Str = \prep,np -> case of { => prep.obj ! p ++ np.empty ; diff --git a/src/maltese/AllMlt.gf b/src/maltese/AllMlt.gf index 1a37a34f..58334086 100644 --- a/src/maltese/AllMlt.gf +++ b/src/maltese/AllMlt.gf @@ -10,7 +10,7 @@ concrete AllMlt of AllMltAbs = LangMlt, DictMlt, IrregMlt, - ExtraMlt - ** { + ExtendMlt + ** open ExtraMlt in { } ; diff --git a/src/maltese/AllMltAbs.gf b/src/maltese/AllMltAbs.gf index 5a545fc6..dcd022b3 100644 --- a/src/maltese/AllMltAbs.gf +++ b/src/maltese/AllMltAbs.gf @@ -10,5 +10,5 @@ abstract AllMltAbs = Lang, DictMltAbs, IrregMltAbs, - ExtraMltAbs + Extend ** {} ; diff --git a/src/maltese/ExtendMlt.gf b/src/maltese/ExtendMlt.gf new file mode 100644 index 00000000..dfb744f0 --- /dev/null +++ b/src/maltese/ExtendMlt.gf @@ -0,0 +1,17 @@ +concrete ExtendMlt of Extend = + CatMlt ** ExtendFunctor - [ + ComplDirectVS, + ComplDirectVQ, + iFem_Pron, youFem_Pron, weFem_Pron, youPlFem_Pron, + theyFem_Pron, youPolFem_Pron + ] + with (Grammar = GrammarMlt) ** open ParadigmsMlt, MorphoMlt, ResMlt in { + +lin iFem_Pron = mkPron "jien" "i" singular P1 feminine ; --- also JIENA + youFem_Pron = mkPron "int" "ek" singular P2 feminine ; --- also INTI + weFem_Pron = mkPron "aħna" "na" plural P1 feminine ; + youPlFem_Pron = mkPron "intom" "kom" plural P2 feminine ; + theyFem_Pron = mkPron "huma" "hom" plural P3 feminine ; + youPolFem_Pron = mkPron "int" "ek" singular P2 feminine ; --- also INTI + +} diff --git a/src/maltese/NounMlt.gf b/src/maltese/NounMlt.gf index 408e7aa8..2b7a6585 100644 --- a/src/maltese/NounMlt.gf +++ b/src/maltese/NounMlt.gf @@ -310,6 +310,13 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude, Maybe in { isDefn = np.isDefn ; } ; + QuantityNP n m = { -- quessed + s = \\c => preOrPost m.isPre m.s (n.s ! NumNom) ; + a = agrP3 (numform2num n.n) Masc ; + isPron = False ; + isDefn = False ; + } ; + oper -- Overwrite the s field in an NP overwriteNPs : NounPhrase -> (NPCase => Str) -> NounPhrase = \np,tbl -> { diff --git a/src/maltese/NumeralMlt.gf b/src/maltese/NumeralMlt.gf index 313f3a4d..52dead12 100644 --- a/src/maltese/NumeralMlt.gf +++ b/src/maltese/NumeralMlt.gf @@ -388,11 +388,6 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits,Decimal] ** open Prelude T3 => BIND++","++BIND ; _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; lin -- Dig diff --git a/src/maltese/ResMlt.gf b/src/maltese/ResMlt.gf index 8fc49a55..291161db 100644 --- a/src/maltese/ResMlt.gf +++ b/src/maltese/ResMlt.gf @@ -33,7 +33,7 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in { if_then_else Definiteness b Definite Indefinite ; -- Agreement system corrected based on comments by [AZ] - Agr : Type = { n : Number ; p : Person ; g : Gender } ; + Agr : PType = { n : Number ; p : Person ; g : Gender } ; -- Make Agr from raw ingredients mkAgr : Number -> Person -> Gender -> Agr = \n,p,g -> {n = n ; p = p ; g = g} ; diff --git a/src/nepali/QuestionNep.gf b/src/nepali/QuestionNep.gf index efd62916..a74e896f 100644 --- a/src/nepali/QuestionNep.gf +++ b/src/nepali/QuestionNep.gf @@ -74,9 +74,9 @@ concrete QuestionNep of Question = CatNep ** open ResNep, Prelude in { CompIAdv a = a ; CompIP p = ss (p.s ! Nom) ; AdvIAdv i a = {s = i.s ++ a.s} ; - AdvQVP vp iadv = insertObj (\\_ => iadv.s) vp ; - AddAdvQVP qvp iadv = insertObj (\\_ => iadv.s) qvp ; - ComplSlashIP vpslash ip = insertObj (\\_ => ip.s ! Nom) vpslash ; + AdvQVP vp iadv = lin VP (insertObj (\\_ => iadv.s) vp) ; + AddAdvQVP qvp iadv = lin VP (insertObj (\\_ => iadv.s) qvp) ; + ComplSlashIP vpslash ip = lin VP (insertObj (\\_ => ip.s ! Nom) vpslash) ; --QuestQVP : IP -> QVP -> QCl ; -- who buys what where QuestQVP ip qvp = diff --git a/src/norwegian/ExtendNor.gf b/src/norwegian/ExtendNor.gf index 9498ea2e..c5b4f33f 100644 --- a/src/norwegian/ExtendNor.gf +++ b/src/norwegian/ExtendNor.gf @@ -19,8 +19,14 @@ concrete ExtendNor of Extend = CatNor ** GenRP ] with (Grammar = GrammarNor) - ** { + ** open Prelude in { flags coding=utf8 ; +lin CompoundN n1 n2 = { + s = \\n,s,c => n1.co ++ BIND ++ n2.s ! n ! s ! c ; + co = n1.co ++ BIND ++ n2.co ; + g = n2.g + } ; + } diff --git a/src/norwegian/NumeralNor.gf b/src/norwegian/NumeralNor.gf index 08c315bb..fb66dc3f 100644 --- a/src/norwegian/NumeralNor.gf +++ b/src/norwegian/NumeralNor.gf @@ -4,7 +4,7 @@ concrete NumeralNor of Numeral = CatNor [Numeral,Digits,Decimal] ** open MorphoN lincat Digit = {s : DForm => CardOrd => Str} ; Sub10 = {s : DForm => CardOrd => Str ; n : Number} ; - Sub100, Sub1000, Sub1000000 = + Sub100, Sub1000, Sub1000000, Sub1000000000, Sub1000000000000 = {s : CardOrd => Str ; n : Number} ; lin @@ -44,6 +44,9 @@ lin pot3plus n m = {s = \\g => n.s ! invNum ++ "tusen" ++ "og" ++ m.s ! g ; n = Pl} ; + pot3as4 n = n ; + pot4as5 n = n ; + -- Numerals from sequences of digits. lincat diff --git a/src/nynorsk/ExtendNno.gf b/src/nynorsk/ExtendNno.gf index d278a361..36e70714 100644 --- a/src/nynorsk/ExtendNno.gf +++ b/src/nynorsk/ExtendNno.gf @@ -19,8 +19,14 @@ concrete ExtendNno of Extend = CatNno ** GenRP ] with (Grammar = GrammarNno) - ** { + ** open Prelude in { flags coding=utf8 ; +lin CompoundN n1 n2 = { + s = \\n,s,c => n1.co ++ BIND ++ n2.s ! n ! s ! c ; + co = n1.co ++ BIND ++ n2.co ; + g = n2.g + } ; + } diff --git a/src/nynorsk/NumeralNno.gf b/src/nynorsk/NumeralNno.gf index 8334230f..8028e5c1 100644 --- a/src/nynorsk/NumeralNno.gf +++ b/src/nynorsk/NumeralNno.gf @@ -4,7 +4,7 @@ concrete NumeralNno of Numeral = CatNno [Numeral,Digits,Decimal] ** open MorphoN lincat Digit = {s : DForm => CardOrd => Str} ; Sub10 = {s : DForm => CardOrd => Str ; n : Number} ; - Sub100, Sub1000, Sub1000000 = + Sub100, Sub1000, Sub1000000, Sub1000000000, Sub1000000000000 = {s : CardOrd => Str ; n : Number} ; lin @@ -44,6 +44,9 @@ lin pot3plus n m = {s = \\g => n.s ! invNum ++ "tusen" ++ "og" ++ m.s ! g ; n = Pl} ; + pot3as4 n = n ; + pot4as5 n = n ; + -- Numerals from sequences of digits. lincat diff --git a/src/persian/IdiomPes.gf b/src/persian/IdiomPes.gf index 07bdb023..6057acd9 100644 --- a/src/persian/IdiomPes.gf +++ b/src/persian/IdiomPes.gf @@ -33,6 +33,6 @@ lin {s = "بگذارید" ++ np2str np ++ showVPH (VSubj Pos np.a) np.a vp}; oper - existVerb : V2 = mkV2 (mkV "وجود" haveVerb) noPrep ; + existVerb : V2 = mkV2 (mkV "وجود" (lin V haveVerb)) noPrep ; } diff --git a/src/persian/NumeralPes.gf b/src/persian/NumeralPes.gf index 1305364f..1a31d9a7 100644 --- a/src/persian/NumeralPes.gf +++ b/src/persian/NumeralPes.gf @@ -105,12 +105,6 @@ lin pot3plus n m = { _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + "م") ; diff --git a/src/persian/ParadigmsPes.gf b/src/persian/ParadigmsPes.gf index ae381f65..f8073156 100644 --- a/src/persian/ParadigmsPes.gf +++ b/src/persian/ParadigmsPes.gf @@ -164,11 +164,11 @@ oper mkVV : Str -> VV -- Predictable VV, subjunctive complement, is auxiliary. = \s -> lin VV (regV s ** {isAux = True ; compl = subjunctive ; isDef = False}) ; mkVV : V -> VV -- takes its VP complement in subjunctive. Is auxiliary. - = \v -> v ** {isAux = True ; compl = subjunctive ; isDef = False} ; + = \v -> lin VV (v ** {isAux = True ; compl = subjunctive ; isDef = False}) ; mkVV : VVForm -> V -> VV -- takes its VP complement in the given VVForm - = \vvf,v -> v ** {isAux = True ; compl = vvf ; isDef = False} ; + = \vvf,v -> lin VV (v ** {isAux = True ; compl = vvf ; isDef = False}) ; mkVV : (isAux : Bool) -> VVForm -> V -> VV -- takes its VP complement in the given VVForm. Whether it's auxiliary (T/F) given as the first argument. - = \isAux,vvf,v -> v ** {isAux = isAux ; compl = vvf ; isDef = False} + = \isAux,vvf,v -> lin VV (v ** {isAux = isAux ; compl = vvf ; isDef = False}) } ; defVV : VV -> VV = \vv -> vv ** {isDef=True} ; @@ -282,19 +282,19 @@ oper mkN = overload { mkN : (sg : Str) -> N -- Takes singular form, returns a noun with ها as the plural form. - = \sg -> mkN01 sg inanimate ; + = \sg -> lin N (mkN01 sg inanimate) ; mkN : (sg,pl : Str) -> N -- Takes singular and plural forms. Use for ان or its allomorphs, and loanwords with Arabic plural. - = \sg,pl -> M.mkN sg pl inanimate ; + = \sg,pl -> lin N (M.mkN sg pl inanimate) ; mkN : (possStem : Str) -> N -> N -- Noun with an unexpected possessive stem, e.g. مه where ه is a consonant, not vowel. - = \ps,n -> possStemN ps n ; + = \ps,n -> lin N (possStemN ps n) ; -- hidden from API mkN : (sg : Str) -> Animacy -> N -- Takes singular form and animacy. Inanimate plural ها. Animate plural ان or an allomorph of it (یان or گان) depending on the singular form. = \sg,ani -> case ani of { - Inanimate => mkN01 sg ani ; - Animate => mkN02 sg ani } ; + Inanimate => lin N (mkN01 sg ani) ; + Animate => lin N (mkN02 sg ani) } ; mkN : (sg,pl : Str) -> Animacy -> N -- Worst-case constructor: takes singular and plural forms and animacy. Use for e.g. loanwords with Arabic plural, or animate nouns with ها as plural. - = \sg,pl,ani -> M.mkN sg pl ani + = \sg,pl,ani -> lin N (M.mkN sg pl ani) } ; possStemN : Str -> N -> N = \possStem,n -> n ** { @@ -304,18 +304,18 @@ oper } ; - mkN01 : (sg : Str) -> Animacy -> Noun ; -- Takes singular form and animacy, forms plural with ها + mkN01 : (sg : Str) -> Animacy -> N ; -- Takes singular form and animacy, forms plural with ها mkN01 sg ani = let pl : Str = case last sg of { --"د"|"ذ"|"ر"|"ز"|"ژ" => sg + "ها" ; -- these letters are separated by default _ => zwnj sg "ها" } ; -- Using zero-width non-joiner, defined in MorphoPes - in M.mkN sg pl ani ; + in lin N (M.mkN sg pl ani) ; - mkN02 : (sg : Str) -> Animacy -> Noun ; -- Takes singular form and animacy, pattern matches singular and forms plural with either گان, یان or ان + mkN02 : (sg : Str) -> Animacy -> N ; -- Takes singular form and animacy, pattern matches singular and forms plural with either گان, یان or ان mkN02 str ani = case last str of { - "ه" => M.mkN str (init str + "گان") ani ; - ("ا"|"و") => M.mkN str (str + "یان") ani ; - _ => M.mkN str (str + "ان") ani + "ه" => lin N (M.mkN str (init str + "گان") ani) ; + ("ا"|"و") => lin N (M.mkN str (str + "یان") ani) ; + _ => lin N (M.mkN str (str + "ان") ani) }; mk2Conj : Str -> Str -> Number -> Conj = \x,y,n -> @@ -396,7 +396,7 @@ oper => {s = [] ; ra = ra ; mod=Bare ; isPrep = False} ; prep => {s = prep ; ra = [] ; mod=Bare ; isPrep = True} } ; - noPrep = prepOrRa [] ; + noPrep : Prep = lin Prep (prepOrRa []) ; -- NB. The 'mod' field has different meaning for verbs and N2s. ezafeForN2 = {s = [] ; ra = [] ; mod=Ezafe ; isPrep = False} ; @@ -427,11 +427,11 @@ oper mkQuant = overload { -- mkQuant : Pron -> Quant = \p -> {s = \\_,_,c => p.s!c ;a = p.a ; lock_Quant = <>}; mkQuant : Str -> Str -> Quant -- hidden from public API - = \sg,pl -> makeQuant sg pl Bare False; + = \sg,pl -> lin Quant (makeQuant sg pl Bare False); mkQuant : Str -> Str -> (isNeg : Bool) -> Quant -- hidden from public API - = \sg,pl,isneg -> makeQuant sg pl Bare isneg; + = \sg,pl,isneg -> lin Quant (makeQuant sg pl Bare isneg); mkQuant : Str -> Str -> Mod -> (isNeg : Bool) -> Quant -- hidden from public API - = \sg,pl,mod,isneg -> makeQuant sg pl mod isneg; + = \sg,pl,mod,isneg -> lin Quant (makeQuant sg pl mod isneg); } ; } diff --git a/src/polish/AdjectiveMorphoPol.gf b/src/polish/AdjectiveMorphoPol.gf index cbee1e24..4cf89b94 100644 --- a/src/polish/AdjectiveMorphoPol.gf +++ b/src/polish/AdjectiveMorphoPol.gf @@ -209,6 +209,6 @@ resource AdjectiveMorphoPol = open CatPol, ResPol, Prelude, (Predef=Predef) in { }; addComplToAdj : A -> Str -> Case -> A2 ; - addComplToAdj a s c = a ** {c = mkCompl s c } ; + addComplToAdj a s c = lin A2 (a ** {c = mkCompl s c}) ; } diff --git a/src/polish/MorphoPol.gf b/src/polish/MorphoPol.gf index 776de2ac..447ebacc 100644 --- a/src/polish/MorphoPol.gf +++ b/src/polish/MorphoPol.gf @@ -26,10 +26,10 @@ oper mkN2 n = mkFun n nullPrep ; mkFun : N -> Complement -> N2; - mkFun f c = f ** { c = c } ; + mkFun f c = lin N2 (f ** { c = c }) ; mkN3 : N -> Complement -> Complement -> N3; - mkN3 f c1 c2 = f ** { c1 = c1 ; c2 = c2 }; + mkN3 f c1 c2 = lin N3 (f ** { c1 = c1 ; c2 = c2}) ; -- Prepositions diff --git a/src/polish/VerbMorphoPol.gf b/src/polish/VerbMorphoPol.gf index 9667aa91..ba8b9e4a 100644 --- a/src/polish/VerbMorphoPol.gf +++ b/src/polish/VerbMorphoPol.gf @@ -415,7 +415,7 @@ resource VerbMorphoPol = open CatPol, ResPol, Prelude, (Predef=Predef), (Adj=Adj dirV3 : V -> V3; -- a typical case ie. "zabrać", "dać" dirV3 v = mkV3 v "" "" Acc Dat; - indicative_form : V -> Bool -> Polarity -> Tense * Anteriority * GenNum * Person => Str; + indicative_form : Verb -> Bool -> Polarity -> Tense * Anteriority * GenNum * Person => Str; indicative_form verb imienne pol = case imienne of {True => imienne_form verb pol; False => let nie = case pol of { Pos => "" ; Neg => "nie" }; in @@ -433,7 +433,7 @@ resource VerbMorphoPol = open CatPol, ResPol, Prelude, (Predef=Predef), (Adj=Adj } }; - imienne_form : V -> Polarity -> Tense * Anteriority * GenNum * Person => Str; + imienne_form : Verb -> Polarity -> Tense * Anteriority * GenNum * Person => Str; imienne_form verb pol = let byc = (case verb.asp of { Perfective => conj3 "zostać"; _ => conj1 "być" }).s; in let zostac = (case verb.asp of { Imperfective => conj1 "być"; _ => conj3 "zostać" }).s; in @@ -461,7 +461,7 @@ resource VerbMorphoPol = open CatPol, ResPol, Prelude, (Predef=Predef), (Adj=Adj => "będą" }; - imperative_form : V -> Bool -> Polarity -> GenNum -> Person -> Str; + imperative_form : Verb -> Bool -> Polarity -> GenNum -> Person -> Str; imperative_form verb imienne pol gn p = case imienne of { True => @@ -493,7 +493,7 @@ resource VerbMorphoPol = open CatPol, ResPol, Prelude, (Predef=Predef), (Adj=Adj } }; - infinitive_form : V -> Bool -> Polarity -> GenNum -> Str; + infinitive_form : Verb -> Bool -> Polarity -> GenNum -> Str; infinitive_form verb imienne pol gn = case imienne of { True => diff --git a/src/portuguese/ConstructionPor.gf b/src/portuguese/ConstructionPor.gf index ffd73900..7f916d60 100644 --- a/src/portuguese/ConstructionPor.gf +++ b/src/portuguese/ConstructionPor.gf @@ -22,13 +22,13 @@ lin what_name_QCl x = mkQCl how_IAdv (mkCl (lin NP x) (reflV (mkV "chamar"))) ; how_old_QCl x = mkQCl (mkIP how8many_IDet L.year_N) x have_V2 ; - how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x D.stare_V) ; + how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x (lin V D.stare_V)) ; -- some more things weather_adjCl ap = mkCl (mkVP (mkVA (mkV (fazer_Besch "fazer"))) (lin AP ap)) ; - is_right_VP = mkVP (mkVA D.stare_V) (mkAP (mkA "certo")) ; - is_wrong_VP = mkVP (mkVA D.stare_V) (mkAP (mkA "errado")) ; + is_right_VP = mkVP (mkVA (lin V D.stare_V)) (mkAP (mkA "certo")) ; + is_wrong_VP = mkVP (mkVA (lin V D.stare_V)) (mkAP (mkA "errado")) ; n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; diff --git a/src/portuguese/NumeralPor.gf b/src/portuguese/NumeralPor.gf index 91e0abd3..71e5e3f7 100644 --- a/src/portuguese/NumeralPor.gf +++ b/src/portuguese/NumeralPor.gf @@ -228,12 +228,6 @@ concrete NumeralPor of Numeral = CatPor [Numeral,Digits,Decimal] ** _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mk4Dig : Str -> Str -> Str -> Number -> TDigit = \c,o,a,n -> { s = table { diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index fe1fbd93..a26425be 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -46,7 +46,7 @@ resource ParadigmsPor = -- To abstract over gender names, we define the following identifiers. oper - Gender : Type ; + Gender : PType ; Gender = MorphoPor.Gender ; masculine, male : Gender ; @@ -57,7 +57,7 @@ oper -- To abstract over number names, we define the following. - Number : Type ; + Number : PType ; Number = MorphoPor.Number ; singular : Number ; diff --git a/src/punjabi/LexiconPnb.gf b/src/punjabi/LexiconPnb.gf index f256b82a..6fe73959 100644 --- a/src/punjabi/LexiconPnb.gf +++ b/src/punjabi/LexiconPnb.gf @@ -36,7 +36,7 @@ concrete LexiconPnb of Lexicon = CatPnb ** bread_N = mkN03 "روتی" ; break_V2 = mkV2 (mkV "توڑنا") ; broad_A = mkAdj1 "كھلا" ; - brother_N2 = mkN2 (mkN01 "پرا") (mkPrep "كا") "كے" ; --not correct + brother_N2 = mkN2 (lin N (mkN01 "پرا")) (mkPrep "كا") "كے" ; --not correct brown_A = mkAdj1 "نسواری" ; -- butter_N = mkN "مكھن" ; buy_V2 = mkV2 (mkV "خریدنا"); @@ -73,7 +73,7 @@ concrete LexiconPnb of Lexicon = CatPnb ** empty_A = mkAdj1 "خالی" ; -- enemy_N = mkN "دشمن" ; -- factory_N = mkN "كارخانہ" ; - father_N2 = mkN2 (mkN01 "ابا") (mkPrep "دا") "دے" ; + father_N2 = mkN2 (lin N (mkN01 "ابا")) (mkPrep "دا") "دے" ; fear_VS = mkV "ڈرنا"; find_V2 = mkV2 (mkV "پانا") ; fish_N = mkN03 "مچھلی" ; @@ -124,7 +124,7 @@ concrete LexiconPnb of Lexicon = CatPnb ** meat_N = mkN02 "گوشت" ; -- milk_N = mkN "دودھ" ; moon_N = mkN02 "چن" ; - mother_N2 = mkN2 (mkN05 "ماں") (mkPrep "دی") "ڈے"; -- not covered need to be discussed + mother_N2 = mkN2 (lin N (mkN05 "ماں")) (mkPrep "دی") "ڈے"; -- not covered need to be discussed mountain_N = mkN03 "پاڑی" ; -- music_N = mkN "موسیقی" ; narrow_A = mkAdj1 "باریك" ; diff --git a/src/punjabi/ParadigmsPnb.gf b/src/punjabi/ParadigmsPnb.gf index a0bc81c1..c478fe56 100644 --- a/src/punjabi/ParadigmsPnb.gf +++ b/src/punjabi/ParadigmsPnb.gf @@ -58,7 +58,7 @@ mkPN = overload { \s1,s2,s3,s4,n,g -> let p = mkIntPronForm s1 s2 s3 s4 in { s = p.s ; n = n ; g = g ; lock_IP = <>}; -- AdN - mkAdN : Str -> AdN = \s -> ss s ; + mkAdN : Str -> AdN = \s -> lin AdN (ss s) ; --2 Adjectives diff --git a/src/romance/CommonRomance.gf b/src/romance/CommonRomance.gf index eb751a11..1298e1da 100644 --- a/src/romance/CommonRomance.gf +++ b/src/romance/CommonRomance.gf @@ -112,9 +112,9 @@ param -- Agreement of adjectives, verb phrases, relative pronouns, and predeterminers. oper - AAgr : Type = {g : Gender ; n : Number} ; + AAgr : PType = {g : Gender ; n : Number} ; - Agr : Type = {g : Gender ; n : Number ; p : Person} ; + Agr : PType = {g : Gender ; n : Number ; p : Person} ; complAgr : Agr -> {g : Gender ; n : Number} = \a -> {g = a.g ; n = a.n} ; diff --git a/src/romance/ExtendRomanceFunctor.gf b/src/romance/ExtendRomanceFunctor.gf index bc5ddaa6..62dede71 100644 --- a/src/romance/ExtendRomanceFunctor.gf +++ b/src/romance/ExtendRomanceFunctor.gf @@ -340,7 +340,7 @@ incomplete concrete ExtendRomanceFunctor of Extend = passVPSlash vps agent = let auxvp = predV auxPassive in - vps ** { + lin VP vps ** { s = auxvp.s ; agr = auxvp.agr ; comp = \\a => (let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) ++ vps.comp ! a ++ agent ; diff --git a/src/romanian/ResRon.gf b/src/romanian/ResRon.gf index 0057a078..9c236bd4 100644 --- a/src/romanian/ResRon.gf +++ b/src/romanian/ResRon.gf @@ -260,7 +260,7 @@ useVerb : Verb -> VerbPhrase =\verb -> nrClit = verb.nrClit; isFemSg = False ; pReflClit = verb.pReflClit ; neg = table {Pos => ""; Neg => "nu"} ; - clAcc = RNoAg ; nrClit = verb.nrClit; + clAcc = RNoAg ; clDat = RNoAg ; comp = \\a => [] ; ext = \\p => [] ; @@ -502,13 +502,13 @@ oper -- Agreements : --- for relatives - - AAgr : Type = {g : Gender ; n : Number} ; - +-- for relatives + + AAgr : PType = {g : Gender ; n : Number} ; + -- for agreement between subject and predicate - - Agr : Type = AAgr ** {p : Person} ; + + Agr : PType = {g : Gender ; n : Number ; p : Person} ; -- clause building function : diff --git a/src/rukiga/NumeralCgg.gf b/src/rukiga/NumeralCgg.gf index be0e1961..20e3c3f4 100644 --- a/src/rukiga/NumeralCgg.gf +++ b/src/rukiga/NumeralCgg.gf @@ -116,12 +116,6 @@ lin pot3plus n m = let _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - }; - mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c c; diff --git a/src/rukiga/ParadigmsCgg.gf b/src/rukiga/ParadigmsCgg.gf index 278b01ec..fdc29e85 100644 --- a/src/rukiga/ParadigmsCgg.gf +++ b/src/rukiga/ParadigmsCgg.gf @@ -40,17 +40,17 @@ oper }; mkV = overload { - mkV : Str -> Verb + mkV : Str -> V = \root -> lin V (smartVerb root); --{s =root; pres =[]; perf = []; morphs= mkVerbMorphs; isRegular = True}; --only those verbs whose conjugation involves change of last letter and are done in the same way in both runyankore and rukiga - mkV : Str -> Str ->Str -> Verb + mkV : Str -> Str ->Str -> V = \root, restPres, restPerf ->lin V (mkVerb root restPres restPerf); - mkV : Str -> Str ->Str ->Str -> Bool -> Verb + mkV : Str -> Str ->Str ->Str -> Bool -> V = \root, restPres, restPerf, p, bool ->lin V (mkVerbV2X root restPres restPerf p bool); }; mkV2 = overload { - mkV2 : Str -> V2 = \root ->dirV2 (smartVerb root); --** {comp =[] ; isCompN2 = False}; - mkV2 : Str -> Str ->Str -> V2 = \root, s1, s2 ->dirV2 (mkVerb root s1 s2); --** {comp =[] ; isCompN2 = False}; + mkV2 : Str -> V2 = \root ->dirV2 (lin V (smartVerb root)); --** {comp =[] ; isCompN2 = False}; + mkV2 : Str -> Str ->Str -> V2 = \root, s1, s2 ->dirV2 (lin V (mkVerb root s1 s2)); --** {comp =[] ; isCompN2 = False}; }; mkV3 = overload { mkV3 : Str -> Verb3 = \root ->mkV2 root ** {comp2 =[]}; @@ -213,7 +213,7 @@ mkInterj : Str -> Interj mkV0 : V -> V; mkV0 v = v ; mkA2 : Str -> Position -> Bool -> Bool ->Bool-> A2V = \a2, pos, isProper, isPrep,isNeg -> - lin A2V ((mkAdjective a2 pos isProper isPrep isNeg) ** {c2 = ""; isPre = True}); + lin A2 (mkAdjective a2 pos isProper isPrep isNeg) ** {c2 = ""; isPre = True}; --mkA2V : A -> A2V; --mkA2V a = lin A2V (a * {c2 = ""; isPre = True}); mkA2V : Str -> Position -> Bool -> Bool ->Bool-> A2 =\a2, pos, isProper, isPrep,isNeg -> lin A2 ((mkAdjective a2 pos isProper isPrep isNeg) ** {c2 = ""; isPre = True}); diff --git a/src/rukiga/StructuralCgg.gf b/src/rukiga/StructuralCgg.gf index 1ae12767..b25f1d8e 100644 --- a/src/rukiga/StructuralCgg.gf +++ b/src/rukiga/StructuralCgg.gf @@ -257,15 +257,15 @@ lin want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False; - isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth}; + isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; inf=[]; whenUsed = VVBoth}; can8know_VV = {s = "baas"; pres="a"; perf = "ize"; isPresBlank = False; - isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) + isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) can_VV = {s = "baas"; pres="a"; perf = "ize"; isPresBlank = False; - isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (possibility) + isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; inf=[]; whenUsed = VVBoth};--: VV ; -- can (possibility) -- must_VV used especially in the perfective mood: see dictionary entry shemerera on Pg 501 of Mpairwe -- must has no passive form must_VV = {s = "shemere"; pres="ra"; perf = "ire"; isPresBlank = False; - isPerfBlank = False; isRegular = False; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV + isPerfBlank = False; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV everybody_NP = {s = \\_=>"buri muntu" ; agr=AgP3 Sg MU_BA}; everything_NP = {s = \\_=>"buri kintu" ; agr=AgP3 Sg KI_BI}; somebody_NP = {s = \\_=>"somebody:omuntu omwe" ; agr=AgP3 Sg MU_BA}; --: NP ; diff --git a/src/russian/CatRus.gf b/src/russian/CatRus.gf index f45881e1..781425b2 100644 --- a/src/russian/CatRus.gf +++ b/src/russian/CatRus.gf @@ -151,4 +151,24 @@ linref RCl = \s -> s.subj ! GSg Neut ! Inanimate ! Nom ++ s.adv ! Ag (GSg Neut) P3 ++ (verbInf s.verb) ++ s.dep ++ s.compl ! Pos ! Ag (GSg Neut) P3 ; IP = \s -> s.nom ; RP = \s -> s.s!GSg Neut!Inanimate!Nom ; + +lindef + VP = \s -> { + adv = \\_ => "" ; + verb = { + inf,infrefl, + prsg1,prsg2,prsg3, + prpl1,prpl2,prpl3, + psgm,psgs, + isg2,isg2refl,ipl1, + ppps,pppss,prtr,ptr=s; + asp=Imperfective ; + fut=NullFuture ; + refltran = Trans + } ; + dep = "" ; + compl = \\_,_ => "" ; + p = Pos + } ; + } diff --git a/src/russian/DocumentationRusFunctor.gf b/src/russian/DocumentationRusFunctor.gf index 9e451e3b..d2b1bdae 100644 --- a/src/russian/DocumentationRusFunctor.gf +++ b/src/russian/DocumentationRusFunctor.gf @@ -163,7 +163,7 @@ lin oper {- -} --# notpresent - inflVerb : CatRus.V -> Str = \v -> + inflVerb : VerbForms -> Str = \v -> let fut : Agr=>Str = \\a => verbFutAgree v a in let pres : Agr=>Str = \\a => verbPresAgree v a in let past : Agr=>Str = \\a => verbPastAgree v a "" in diff --git a/src/russian/NumeralRus.gf b/src/russian/NumeralRus.gf index 93f2bd6f..6cbf4f4c 100644 --- a/src/russian/NumeralRus.gf +++ b/src/russian/NumeralRus.gf @@ -455,12 +455,6 @@ lincat _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mk3Dig : Str -> Str -> NumSize -> TDigit = \c,o,size -> mk4Dig c o Pl size ; @@ -476,4 +470,4 @@ lincat s : Str ; size : NumSize } ; -} \ No newline at end of file +} diff --git a/src/russian/ParadigmsRus.gf b/src/russian/ParadigmsRus.gf index ecab4331..fa1efe6b 100644 --- a/src/russian/ParadigmsRus.gf +++ b/src/russian/ParadigmsRus.gf @@ -292,7 +292,7 @@ oper compoundN = overload { compoundN : A -> N -> N - = \a, n -> applyMaybeNumber + = \a, n -> lin N (applyMaybeNumber {snom = case n.g of { Fem => preOrPost (notB a.p) a.fsnom n.snom ; Masc => preOrPost (notB a.p) a.msnom n.snom ; @@ -349,7 +349,7 @@ oper g=n.g ; rel=(guessAdjectiveForms nonExist) ; rt=GenType - } ; + }) ; compoundN : N -> Str -> N = \n, adv -> n ** { @@ -592,7 +592,7 @@ oper mkA : Str -> Str -> Z.ZAIndex -> ShortFormPreference -> A = \nom, comp, zi, spf -> lin A (makeAdjectiveFormsUseIndex nom comp zi spf) ; mkA : PronForms -> A - = \pf -> pronToAdj pf ; + = \pf -> lin A (pronToAdj pf) ; mkA : A -> Str -> A -> A = \a1,link,a2 -> lin A (mkCompoundA a1 link a2) ; mkA : V -> Voice -> Tense -> A diff --git a/src/scots/AdjectiveSco.gf b/src/scots/AdjectiveSco.gf new file mode 100644 index 00000000..0283117f --- /dev/null +++ b/src/scots/AdjectiveSco.gf @@ -0,0 +1,12 @@ +concrete AdjectiveSco of Adjective = AdjectiveEng - [ComparA,UseComparA] ** open Prelude, ResSco in { + +lin ComparA a np = { + s = \\_ => getCompar Nom a ++ "than" ++ np.s ! npNom ; + isPre = False + } ; + UseComparA a = { + s = \\_ => getCompar Nom a ; + isPre = a.isPre + } ; + +} diff --git a/src/scots/AdverbSco.gf b/src/scots/AdverbSco.gf new file mode 100644 index 00000000..b189b044 --- /dev/null +++ b/src/scots/AdverbSco.gf @@ -0,0 +1,2 @@ +concrete AdverbSco of Adverb = AdverbEng ** { +} diff --git a/src/scots/AllSco.gf b/src/scots/AllSco.gf new file mode 100644 index 00000000..03f2be4f --- /dev/null +++ b/src/scots/AllSco.gf @@ -0,0 +1,8 @@ +--# -path=.:../abstract:../common:../api + +concrete AllSco of AllScoAbs = + LangSco, + IrregSco - [burn_V, freeze_V], + ExtendSco + ** + {} ; diff --git a/src/scots/AllScoAbs.gf b/src/scots/AllScoAbs.gf new file mode 100644 index 00000000..2671579c --- /dev/null +++ b/src/scots/AllScoAbs.gf @@ -0,0 +1,7 @@ +--# -path=.:../abstract:../common:prelude + +abstract AllScoAbs = + Lang, + IrregScoAbs - [burn_V, freeze_V], + Extend + ** {} ; diff --git a/src/scots/CatSco.gf b/src/scots/CatSco.gf new file mode 100644 index 00000000..989d7c20 --- /dev/null +++ b/src/scots/CatSco.gf @@ -0,0 +1,2 @@ +concrete CatSco of Cat = CatEng ** { +} diff --git a/src/scots/ConjunctionSco.gf b/src/scots/ConjunctionSco.gf new file mode 100644 index 00000000..c93effa5 --- /dev/null +++ b/src/scots/ConjunctionSco.gf @@ -0,0 +1,2 @@ +concrete ConjunctionSco of Conjunction = ConjunctionEng ** { +} diff --git a/src/scots/ConstructionSco.gf b/src/scots/ConstructionSco.gf new file mode 100644 index 00000000..2c74072d --- /dev/null +++ b/src/scots/ConstructionSco.gf @@ -0,0 +1,2 @@ +concrete ConstructionSco of Construction = ConstructionEng ** { +} diff --git a/src/scots/DocumentationSco.gf b/src/scots/DocumentationSco.gf new file mode 100644 index 00000000..6f0b1438 --- /dev/null +++ b/src/scots/DocumentationSco.gf @@ -0,0 +1,18 @@ +--# -path=.:../abstract:../common +concrete DocumentationSco of Documentation = DocumentationEng - [InflectionA, InflectionA2] ** open ResSco, HTML in { + +lin + InflectionA, InflectionA2 = \adj -> { + t = "a" ; + s1 = heading1 "Adjective" ; + s2 = frameTable ( + tr (th "" ++ th "nom" ++ th "gen") ++ + tr (th "posit" ++ td (adj.s ! AAdj Posit Nom) ++ td (adj.s ! AAdj Posit Gen)) ++ + tr (th "compar" ++ td (getCompar Nom adj) ++ td (getCompar Gen adj)) ++ + tr (th "superl" ++ td (getSuperl Nom adj) ++ td (getSuperl Gen adj)) + ) ++ + heading1 "Adverb" ++ + paragraph (adj.s ! AAdv) + } ; + +} diff --git a/src/scots/ExtendSco.gf b/src/scots/ExtendSco.gf new file mode 100644 index 00000000..8436659a --- /dev/null +++ b/src/scots/ExtendSco.gf @@ -0,0 +1,24 @@ +--# -path=.:../common:../abstract + +concrete ExtendSco of Extend = ExtendEng-[passVPSlash,PassVPSlash,PassAgentVPSlash,ProgrVPSlash] ** open Prelude, ResSco in { + +oper + passVPSlash : VPSlash -> Str -> ResSco.VP = + \vps,ag -> + let + be = predAux auxBe ; + ppt = vps.ptp + in be ** { + p = [] ; + ad = \\_ => [] ; + s2 = \\a => vps.ad ! a ++ ppt ++ vps.p ++ vps.s2 ! a ++ ag ++ vps.c2 ; ---- place of agent + isSimple = False ; + ext = vps.ext + } ; + +lin PassVPSlash vps = passVPSlash (lin VPSlash vps) [] ; + PassAgentVPSlash vps np = passVPSlash (lin VPSlash vps) ("by" ++ np.s ! NPAcc) ; + ProgrVPSlash vp = insertObjc (\\a => vp.ad ! a ++ vp.prp ++ vp.p ++ vp.s2 ! a) + (predAux auxBe ** {c2 = vp.c2; gapInMiddle = vp.gapInMiddle; missingAdv = vp.missingAdv}); + +} diff --git a/src/scots/GrammarSco.gf b/src/scots/GrammarSco.gf new file mode 100644 index 00000000..f7a1fd7a --- /dev/null +++ b/src/scots/GrammarSco.gf @@ -0,0 +1,28 @@ +--# -path=.:../abstract:../common:prelude + +concrete GrammarSco of Grammar = + NounSco, + VerbSco, + AdjectiveSco, + AdverbSco, + NumeralSco, + SentenceSco, + QuestionSco, + RelativeSco, + ConjunctionSco, + PhraseSco, + TextX - [Pol,PPos,PNeg,SC,CAdv], + StructuralSco, + IdiomSco, + TenseX - [Pol,PPos,PNeg,SC,CAdv], + NamesSco + ** open ResSco, Prelude in { + +flags startcat = Phr ; unlexer = text ; lexer = text ; + +lin + PPos = {s = [] ; p = CPos} ; + PNeg = {s = [] ; p = CNeg True} ; -- contracted: don't + + +} ; diff --git a/src/scots/IdiomSco.gf b/src/scots/IdiomSco.gf new file mode 100644 index 00000000..bad132b3 --- /dev/null +++ b/src/scots/IdiomSco.gf @@ -0,0 +1,29 @@ +concrete IdiomSco of Idiom = IdiomEng - [CleftNP,CleftAdv,ExistNP,ExistIP,ExistNPAdv,ExistIPAdv,ProgrVP] ** open Prelude, ResSco in { + +lin CleftNP np rs = mkClause "it" (agrP3 Sg) + (insertObj (\\_ => rs.s ! np.a) + (insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ; + + CleftAdv ad s = mkClause "it" (agrP3 Sg) + (insertObj (\\_ => conjThat ++ s.s) + (insertObj (\\_ => ad.s) (predAux auxBe))) ; + + ExistNP np = + mkClause "there" (agrP3 (fromAgr np.a).n) + (insertObj (\\_ => np.s ! NPAcc) (predAux auxBe)) ; + + ExistIP ip = + mkQuestion (ss (ip.s ! npNom)) + (mkClause "there" (agrP3 ip.n) (predAux auxBe)) ; + + ExistNPAdv np adv = + mkClause "there" (agrP3 (fromAgr np.a).n) + (insertObj (\\_ => np.s ! NPAcc ++ adv.s) (predAux auxBe)) ; + + ExistIPAdv ip adv = + mkQuestion (ss (ip.s ! npNom)) + (mkClause "there" (agrP3 ip.n) (insertObj (\\_ => adv.s) (predAux auxBe))) ; + + ProgrVP vp = insertObj (\\a => vp.ad ! a ++ vp.prp ++ vp.p ++ vp.s2 ! a) (predAux auxBe) ; + +} diff --git a/src/scots/IrregSco.gf b/src/scots/IrregSco.gf new file mode 100644 index 00000000..ebc7d679 --- /dev/null +++ b/src/scots/IrregSco.gf @@ -0,0 +1,53 @@ +concrete IrregSco of IrregScoAbs = CatSco ** open ParadigmsSco in { + +lin + acquent_V = mkV "acquent" "acquents" "acquentit" "acquent" "acquentin" ; + awe_V = mkV "awe" "awes" "aucht" "aucht" "awein" ; + beat_V = mkV "beat" "beats" "bate" "bate" "beatin" ; + bear_V = mkV "bear" "bears" "bure" "born" "bearin" ; + begin_V = mkV "begin" "begins" "begoud" "began" "beginin" ; + bend_V = mkV "bend" "bends" "bent" "bent" "bendin" ; + bid_V = mkV "bid" "bids" ("baud" | "bade") "bidden" "bidin" ; + bind_V = mkV "bind" "binds" "band" "bund" "bindin" ; + birrie_V = mkV "birrie" "birries" "birriet" "birriet" "birriein" ; + blaw_V = mkV "blaw" "blaws" "blew" "blawn" "blawin" ; + bluid_V = mkV "bluid" "bluids" "bled" "bled" "bluidin" ; + bide_V = mkV "bide" "bides" "bade" "bidden" "bidin" ; + bou_V = mkV "bou" "bous" "boud" "boud" "bouin" ; + burn_V = mkV "burn" "burns" "brunt" "brunt" "burnin" ; + buy_V = mkV "buy" "buys" "bocht" "bocht" "buyin" ; + byle_V = mkV "byle" "byles" "bylt" "bylt" "bylin" ; + can_V = mkV "can" "cans" "coud" "coud" "canin" ; + cast_V = mkV "cast" "casts" "cuist" "cuisten" "castin" ; + dee_V = mkV "dee" "dees" "dee'd" "dee'd" "deein" ; + ding_V = mkV "ding" "dings" "dang" "dung" "dingin" ; + draw_V = mkV "draw" "draws" "drew" "drawn" "drawin" ; + drink_V = mkV "drink" "drinks" "drank" ("drucken" | "drunken") "drinkin" ; + drive_V = mkV "drive" "drives" "druive" ("druive" | "driv") "drivin" ; + faw_V = mkV "faw" "faws" "fell" "fawn" "fawin" ; + fesh_V = mkV "fesh" "feshs" "fuish" "fuishen" "feshin" ; + find_V = mkV "find" "finds" "fand" "fund" "findin" ; + flee_V = mkV "flee" "flees" "flew" "flewen" "fleein" ; + fling_V = mkV "fling" "flings" "flang" "flung" "flingin" ; + forgit_V = mkV "forgit" "forgits" "forgat" "forgotten" "forgitin" ; + freeze_V = mkV "freeze" "freezes" "fruize" "frozen" "freezein" ; + gae_V = mkV "gae" "gaes" "gaed" ("gane" | "went") "gaein" ; + git_V = mkV "git" "gits" "gat" "gotten" "gitin" ; + greet_V = mkV "greet" "greets" "grat" "grutten" "greetin" ; + hae_V = mkV "hae" "haes" "haed" "haet" "hain" ; + hide_V = mkV "hide" "hides" "hade" "hidden" "hidin" | mkV "hide" "hides" "hod" "hodden" "hidin" ; + hit_V = mkV "hit" "hits" "hat" "hutten" "hitin" ; + lat_V = mkV "lat" "lats" "luit" "lutten" "latin" ; + leap_V = mkV "leap" "leaps" ("lap" | "lape") "luppen" "leapin" ; + mistak_V = mkV "mistak" "mistaks" "misteuk" "mistaen" "mistakin" ; + quit_V = mkV "quit" "quits" "quat" ("quat" | "quitten") "quitin" ; + read_V = mkV "read" "reads" "rade" ("read" | "readen") "readin" ; + rin_V = mkV "rin" "rins" "ran" "run" "rinin" ; + ride_V = mkV "ride" "rides" "rade" "ridden" "ridein" ; + shall_V = mkV "shall" "shalls" "shoud" "shoud" "shallin" ; + sweir_V = mkV "sweir" "sweirs" "swuire" "sworn" "sweirin" ; + tak_V = mkV "tak" "taks" "teuk" "taen" "takin" ; + thresh_V = mkV "thresh" "threshs" "thruish" "thruishen" "threshin" ; + write_V = mkV "write" "writes" "wrat" "written" "writein" ; + +} diff --git a/src/scots/IrregScoAbs.gf b/src/scots/IrregScoAbs.gf new file mode 100644 index 00000000..37ae0759 --- /dev/null +++ b/src/scots/IrregScoAbs.gf @@ -0,0 +1,53 @@ +abstract IrregScoAbs = Cat ** { + +fun + acquent_V : V ; + awe_V : V ; + beat_V : V ; + bear_V : V ; + begin_V : V ; + bend_V : V ; + bid_V : V ; + bind_V : V ; + birrie_V : V ; + blaw_V : V ; + bluid_V : V ; + bide_V : V ; + bou_V : V ; + burn_V : V ; + buy_V : V ; + byle_V : V ; + can_V : V ; + cast_V : V ; + dee_V : V ; + ding_V : V ; + draw_V : V ; + drink_V : V ; + drive_V : V ; + faw_V : V ; + fesh_V : V ; + find_V : V ; + flee_V : V ; + fling_V : V ; + forgit_V : V ; + freeze_V : V ; + gae_V : V ; + git_V : V ; + greet_V : V ; + hae_V : V ; + hide_V : V ; + hit_V : V ; + lat_V : V ; + leap_V : V ; + mistak_V : V ; + quit_V : V ; + read_V : V ; + rin_V : V ; + ride_V : V ; + shall_V : V ; + sweir_V : V ; + tak_V : V ; + thresh_V : V ; + write_V : V ; + +} diff --git a/src/scots/LangSco.gf b/src/scots/LangSco.gf new file mode 100644 index 00000000..84940c22 --- /dev/null +++ b/src/scots/LangSco.gf @@ -0,0 +1,10 @@ +--# -path=.:../abstract:../common:../api:../prelude + +concrete LangSco of Lang = + GrammarSco, + LexiconSco + ,ConstructionSco + ,DocumentationSco --# notpresent + ** { + +} ; diff --git a/src/scots/LexiconSco.gf b/src/scots/LexiconSco.gf new file mode 100644 index 00000000..18650dbc --- /dev/null +++ b/src/scots/LexiconSco.gf @@ -0,0 +1,379 @@ +--# -path=.:prelude + +concrete LexiconSco of Lexicon = CatSco ** + open ParadigmsSco, IrregSco, Prelude in { + +flags + optimize=values ; + +lin + airplane_N = mkN "airieplane" ; + alas_Interj = ss "alas" ; + answer_V2S = mkV2S (mkV "answer" "answered") toP ; + apartment_N = regN "apartment" ; + apple_N = mkN "aiple" ; + art_N = regN "art" ; + ask_V2Q = mkV2Q (regV "ask") noPrep ; + baby_N = regN "baby" ; + bad_A = mkADeg "bad" "worse" "worst" "badly" ; + bank_N = regN "bank" ; + beautiful_A = compoundADeg (regA "beautiful") ; + become_VA = mkVA (irregV "become" "became" "become") ; + beer_N = regN "beer" ; + beg_V2V = mkV2V (regDuplV "beg") noPrep toP ; + -- prevent_V2V = ingV2V (mkV "prevent") noPrep (mkPrep "from") ; + -- make_V2V = mkV2V make_V noPrep noPrep ; + big_A = duplADeg "big" ; + bike_N = regN "bike" ; + bird_N = regN "bird" ; + black_A = regADeg "black" ; + blue_A = regADeg "blue" ; + boat_N = regN "boat" ; + book_N = regN "book" ; + boot_N = regN "boot" ; + boss_N = mkN human (regN "boss") ; + boy_N = mkN masculine (regN "boy") ; + bread_N = regN "bread" ; + break_V2 = dirV2 (irregV "break" "broke" "broken") ; + broad_A = regADeg "broad" ; + brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ; + brown_A = regADeg "brown" ; + butter_N = regN "butter" ; + buy_V2 = dirV2 IrregSco.buy_V ; + camera_N = regN "camera" ; + cap_N = regN "cap" ; + car_N = regN "car" ; + carpet_N = regN "carpet" ; + cat_N = regN "cat" ; + ceiling_N = regN "ceiling" ; + chair_N = regN "chair" ; + cheese_N = regN "cheese" ; + child_N = mkN "bairn" ; + church_N = mkN "kirk" ; + city_N = mkN "ceety" ; + clean_A = regADeg "clean" ; + clever_A = mkA "clever" "cleverer" ; + close_V2 = dirV2 (regV "close") ; + coat_N = mkN "sark" ; + cold_A = regADeg "cold" ; + come_V = (irregV "come" "came" "come") ; + computer_N = regN "computer" ; + country_N = regN "country" ; + cousin_N = mkN human (regN "cousin") ; + cow_N = regN "cow" ; + die_V = (regV "die") ; + dirty_A = regADeg "dirty" ; + distance_N3 = mkN3 (regN "distance") fromP toP ; + doctor_N = mkN human (regN "doctor") ; + dog_N = regN "dog" ; + door_N = regN "door" ; + drink_V2 = mkV2 IrregSco.drink_V ; + easy_A2V = mkA2V (regA "easy") forP ; + eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ; + empty_A = regADeg "empty" ; + enemy_N = regN "enemy" ; + factory_N = regN "factory" ; + father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ; + fear_VS = mkVS (regV "fear") ; + find_V2 = dirV2 IrregSco.find_V ; + fish_N = mk2N "fish" "fish" ; + floor_N = regN "floor" ; + forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ; + fridge_N = regN "fridge" ; + friend_N = mkN human (regN "friend") ; + fruit_N = mkN "fruit" "fruit" ; --- was: fruit, fruits before 7/12/2012 + fun_AV = mkAV (regA "fun") ; + garden_N = regN "garden" ; + girl_N = mkN feminine (regN "girl") ; + glove_N = regN "glove" ; + gold_N = regN "gold" ; + good_A = mkADeg "good" "better" "best" "well" ; + go_V = mk5V "go" "goes" "went" "gone" "going" ; + green_A = regADeg "green" ; + harbour_N = regN "harbour" ; + hate_V2 = dirV2 (regV "hate") ; + hat_N = regN "hat" ; + hear_V2 = dirV2 (irregV "hear" "heard" "heard") ; + hill_N = regN "hill" ; + hope_VS = mkVS (regV "hope") ; + horse_N = regN "horse" ; + hot_A = duplADeg "hot" ; + house_N = regN "house" ; + important_A = compoundADeg (regA "important") ; + industry_N = regN "industry" ; + iron_N = regN "iron" ; + king_N = mkN masculine (regN "king") ; + know_V2 = dirV2 (irregV "know" "knew" "known") ; + know_VQ = mkVQ (irregV "know" "knew" "known") ; + know_VS = mkVS (irregV "know" "knew" "known") ; + lake_N = regN "lake" ; + lamp_N = regN "lamp" ; + learn_V2 = dirV2 (regV "learn") ; + leather_N = regN "leather" ; + leave_V2 = dirV2 (irregV "leave" "left" "left") ; + like_V2 = dirV2 (regV "like") ; + listen_V2 = prepV2 (mkV "listen" "listened") toP ; + live_V = (regV "live") ; + long_A = regADeg "long" ; + lose_V2 = dirV2 (irregV "lose" "lost" "lost") ; + love_N = regN "love" ; + love_V2 = dirV2 (regV "love") ; + man_N = mkN masculine (mk2N "man" "men") ; + married_A2 = mkA2 (regA "married") toP ; + meat_N = regN "meat" ; + milk_N = regN "milk" ; + moon_N = regN "moon" ; + mother_N2 = mkN2 (mkN feminine (mkN "mother")) (mkPrep "of") ; + mountain_N = regN "mountain" ; + music_N = regN "music" ; + narrow_A = regADeg "narrow" ; + new_A = regADeg "new" ; + newspaper_N = regN "newspaper" ; + oil_N = regN "oil" ; + old_A = regADeg "old" ; + open_V2 = dirV2 (mkV "open" "opens" "opened" "opened" "opening") ; + paint_V2A = mkV2A (regV "paint") ; + paper_N = regN "paper" ; + paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ; + peace_N = regN "peace" ; + pen_N = regN "pen" ; + planet_N = regN "planet" ; + plastic_N = regN "plastic" ; + play_V2 = dirV2 (regV "spiel") ; + policeman_N = mkN masculine (mkN "policeman" "policemen") ; + priest_N = mkN human (regN "priest") ; + probable_AS = mkAS (regA "probable") ; + queen_N = mkN feminine (regN "queen") ; + radio_N = regN "radio" ; + rain_V0 = mkV0 (regV "rain") ; + read_V2 = dirV2 IrregSco.read_V ; + red_A = duplADeg "red" ; + religion_N = regN "religion" ; + restaurant_N = regN "restaurant" ; + river_N = regN "river" ; + rock_N = regN "rock" ; + roof_N = regN "roof" ; + rubber_N = regN "rubber" ; + run_V = (irregDuplV "rin" "ran" "run") ; + say_VS = mkVS (irregV "say" "said" "said") ; + school_N = regN "school" ; + science_N = regN "science" ; + sea_N = regN "sea" ; + seek_V2 = dirV2 (irregV "seek" "sought" "sought") ; + see_V2 = dirV2 (irregV "see" "saw" "seen") ; + sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ; + send_V3 = dirV3 (irregV "send" "sent" "sent") toP ; + sheep_N = mk2N "sheep" "sheep" ; + ship_N = regN "ship" ; + shirt_N = regN "shirt" ; + shoe_N = regN "shoe" ; + shop_N = regN "shop" ; + short_A = regADeg "short" ; + silver_N = regN "silver" ; + sister_N = mkN feminine (mkN "sister") ; + sleep_V = (irregV "sleep" "slept" "slept") ; + small_A = regADeg "small" ; + snake_N = regN "snake" ; + sock_N = regN "sock" ; + speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ; + star_N = regN "star" ; + steel_N = regN "steel" ; + stone_N = regN "stone" ; + stove_N = regN "stove" ; + student_N = mkN human (regN "student") ; + stupid_A = mkA "stupid" ; + sun_N = regN "sun" ; + switch8off_V2 = dirV2 (partV (regV "switch") "off") ; + switch8on_V2 = dirV2 (partV (regV "switch") "on") ; + table_N = regN "table" ; + talk_V3 = mkV3 (regV "talk") toP aboutP ; + teacher_N = mkN human (regN "teacher") ; + teach_V2 = dirV2 (irregV "teach" "taught" "taught") ; + television_N = regN "television" ; + thick_A = regADeg "thick" ; + thin_A = duplADeg "thin" ; + train_N = regN "train" ; + travel_V = (regDuplV "travel") ; + tree_N = regN "tree" ; + ---- trousers_N = regN "trousers" ; + ugly_A = mkA "ugly" ; + understand_V2 = dirV2 (irregV "understand" "understood" "understood") ; + university_N = regN "university" ; + village_N = regN "village" ; + wait_V2 = prepV2 (regV "wait") forP ; + walk_V = (regV "walk") ; + warm_A = regADeg "warm" ; + war_N = regN "war" ; + watch_V2 = dirV2 (regV "watch") ; + water_N = regN "water" ; + white_A = mkA "white" ; + window_N = regN "window" ; + wine_N = regN "wine" ; + win_V2 = dirV2 (irregDuplV "win" "won" "won") ; + woman_N = mkN feminine (mk2N "woman" "women") ; + wonder_VQ = mkVQ (mkV "wonder" "wondered") ; + wood_N = regN "wood" ; + write_V2 = dirV2 IrregSco.write_V ; + yellow_A = mkA "yellow" ; + young_A = regADeg "young" ; + + do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ; + now_Adv = mkAdv "now" ; + already_Adv = mkAdv "already" ; + song_N = regN "song" ; + add_V3 = dirV3 (regV "add") toP ; + number_N = regN "number" ; + put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ; + stop_V = regDuplV "stop" ; + jump_V = regV "jump" ; + + left_Ord = mkOrd "left" ; + right_Ord = mkOrd "right" ; + far_Adv = mkAdv "far" ; + correct_A = (regA "correct") ; + dry_A = regA "dry" ; + dull_A = regA "dull" ; + full_A = regA "full" ; + heavy_A = regA "heavy" ; + near_A = regA "near" ; + rotten_A = (regA "rotten") ; + round_A = regA "round" ; + sharp_A = regA "sharp" ; + smooth_A = regA "smooth" ; + straight_A = regA "straight" ; + wet_A = regA "wet" ; ---- + wide_A = regA "wide" ; + animal_N = regN "animal" ; + ashes_N = regN "ash" ; -- FIXME: plural only? + back_N = regN "back" ; + bark_N = regN "bark" ; + belly_N = regN "belly" ; + blood_N = regN "blood" ; + bone_N = regN "bone" ; + breast_N = regN "breast" ; + cloud_N = regN "cloud" ; + day_N = regN "day" ; + dust_N = regN "dust" ; + ear_N = regN "ear" ; + earth_N = regN "earth" ; + egg_N = regN "egg" ; + eye_N = regN "eye" ; + fat_N = regN "fat" ; + feather_N = regN "feather" ; + fingernail_N = regN "fingernail" ; + fire_N = regN "fire" ; + flower_N = regN "flower" ; + fog_N = regN "fog" ; + foot_N = mk2N "foot" "feet" ; + forest_N = regN "forest" ; + grass_N = regN "grass" ; + guts_N = regN "gut" ; -- FIXME: no singular + hair_N = regN "hair" ; + hand_N = regN "hand" ; + head_N = regN "head" ; + heart_N = regN "heart" ; + horn_N = regN "horn" ; + husband_N = mkN masculine (regN "husband") ; + ice_N = regN "ice" ; + knee_N = regN "knee" ; + leaf_N = mk2N "leaf" "leaves" ; + leg_N = regN "leg" ; + liver_N = regN "liver" ; + louse_N = mk2N "louse" "lice" ; + mouth_N = regN "mouth" ; + name_N = regN "name" ; + neck_N = regN "neck" ; + night_N = regN "night" ; + nose_N = regN "nose" ; + person_N = mkN human (regN "person") ; + rain_N = regN "rain" ; + road_N = regN "road" ; + root_N = regN "root" ; + rope_N = regN "rope" ; + salt_N = regN "salt" ; + sand_N = regN "sand" ; + seed_N = regN "seed" ; + skin_N = regN "skin" ; + sky_N = regN "sky" ; + smoke_N = regN "smoke" ; + snow_N = regN "snow" ; + stick_N = regN "stick" ; + tail_N = regN "tail" ; + tongue_N = regN "tongue" ; + tooth_N = mk2N "tooth" "teeth" ; + wife_N = mkN feminine (mk2N "wife" "wives") ; + wind_N = regN "wind" ; + wing_N = regN "wing" ; + worm_N = regN "worm" ; + year_N = regN "year" ; +-- blow_V = IrregSco.blow_V ; + breathe_V = dirV2 (regV "breathe") ; + burn_V = IrregSco.burn_V ; +-- dig_V = IrregEng.dig_V ; +-- fall_V = IrregEng.fall_V ; + float_V = regV "float" ; + flow_V = regV "flow" ; +-- fly_V = IrregEng.fly_V ; + freeze_V = IrregSco.freeze_V ; +-- give_V3 = mkV3 give_V noPrep noPrep ; + laugh_V = regV "laugh" ; +-- lie_V = IrregEng.lie_V ; + play_V = regV "play" ; +-- sew_V = IrregEng.sew_V ; +-- sing_V = IrregEng.sing_V ; +-- sit_V = IrregEng.sit_V ; + smell_V = regV "smell" ; +-- spit_V = IrregEng.spit_V ; +-- stand_V = IrregEng.stand_V ; +-- swell_V = IrregEng.swell_V ; +-- swim_V = IrregEng.swim_V ; +-- think_V = IrregEng.think_V ; + turn_V = regV "turn" ; + vomit_V = mkV "vomit" "vomited" ; + +-- bite_V2 = dirV2 IrregEng.bite_V ; + count_V2 = dirV2 (regV "count") ; +-- cut_V2 = dirV2 IrregEng.cut_V ; + fear_V2 = dirV2 (regV "fear") ; +-- fight_V2 = dirV2 fight_V ; +-- hit_V2 = dirV2 hit_V ; +-- hold_V2 = dirV2 hold_V ; + hunt_V2 = dirV2 (regV "hunt") ; + kill_V2 = dirV2 (regV "kill") ; + pull_V2 = dirV2 (regV "pull") ; + push_V2 = dirV2 (regV "push") ; + rub_V2 = dirV2 (regDuplV "rub") ; + scratch_V2 = dirV2 (regV "scratch") ; +-- split_V2 = dirV2 split_V ; + squeeze_V2 = dirV2 (regV "squeeze") ; + stab_V2 = dirV2 (regDuplV "stab") ; + suck_V2 = dirV2 (regV "suck") ; +-- throw_V2 = dirV2 throw_V ; + tie_V2 = dirV2 (regV "tie") ; + wash_V2 = dirV2 (regV "wash") ; + wipe_V2 = dirV2 (regV "wipe") ; + +-- other_A = regA "other" ; + + grammar_N = regN "grammar" ; + language_N = regN "language" ; + rule_N = regN "rule" ; + +-- added 4/6/2007 + john_PN = mkPN (mkN masculine (mkN "John")) ; + question_N = regN "question" ; + ready_A = regA "ready" ; + reason_N = regN "reason" ; + today_Adv = mkAdv "today" ; + uncertain_A = regA "uncertain" ; + +oper + aboutP = mkPrep "about" ; + atP = mkPrep "at" ; + forP = mkPrep "for" ; + fromP = mkPrep "from" ; + inP = mkPrep "in" ; + onP = mkPrep "on" ; + toP = mkPrep "to" ; + +} ; diff --git a/src/scots/NamesSco.gf b/src/scots/NamesSco.gf new file mode 100644 index 00000000..a8da6f00 --- /dev/null +++ b/src/scots/NamesSco.gf @@ -0,0 +1,2 @@ +concrete NamesSco of Names = NamesEng ** { +} diff --git a/src/scots/NounSco.gf b/src/scots/NounSco.gf new file mode 100644 index 00000000..34555309 --- /dev/null +++ b/src/scots/NounSco.gf @@ -0,0 +1,19 @@ +concrete NounSco of Noun = NounEng - [IndefArt, OrdSuperl, OrdNumeralSuperl] ** open Prelude, ResSco in { + +lin IndefArt = { + s = \\hasCard,n => case of { + => "a" ; + _ => [] + } ; + sp = \\g,hasCard,n => case of { + => table {NCase Gen => "ane's"; _ => "ane" }; + => table {NCase Gen => "anes'"; _ => "anes" } ; + _ => \\c => [] + } ; + isDef = False + } ; + + OrdSuperl a = {s = \\c => getSuperl c a} ; + + OrdNumeralSuperl n a = {s = \\c => n.s ! True ! NOrd ! Nom ++ getSuperl c a} ; +} diff --git a/src/scots/NumeralSco.gf b/src/scots/NumeralSco.gf new file mode 100644 index 00000000..bb78ebec --- /dev/null +++ b/src/scots/NumeralSco.gf @@ -0,0 +1,150 @@ +concrete NumeralSco of Numeral = CatSco [Numeral,Digits,Decimal] ** open Prelude, ResSco in { + +lincat + Digit = {s : DForm => CardOrd => Case => Str} ; + Sub10 = {s : DForm => CardOrd => Case => Str ; n : Number} ; + Sub100 = {s : CardOrd => Case => Str ; n : Number} ; + Sub1000 = {s : Bool => CardOrd => Case => Str ; n : Number} ; + Sub1000000 = {s : Bool => CardOrd => Case => Str ; n : Number} ; + Sub1000000000 = {s : Bool => CardOrd => Case => Str ; n : Number} ; + Sub1000000000000 = {s : Bool => CardOrd => Case => Str ; n : Number} ; + +lin num x = x ; +lin n2 = let two = mkNum "twa" "twal" "twintie" "saicont" in + {s = \\f,o => case of { + => regGenitiveS "twalt" ; + _ => two.s ! f ! o + } + } ; + +lin n3 = mkNum "three" "thirteen" "thirty" "third" ; +lin n4 = mkNum "fower" "fourteen" "fourtie" "fourth" ; +lin n5 = mkNum "five" "fifteen" "fifty" "fifth" ; +lin n6 = regNum "sax" ; +lin n7 = regNum "seiven" ; +lin n8 = mkNum "echt" "echteen" "echtie" "echt" ; +lin n9 = mkNum "nine" "nineteen" "ninetie" "nint" ; + +lin pot01 = mkNum "ane" "eleivin" "ten" "first" ** {n = Sg} ; +lin pot0 d = d ** {n = Pl} ; +lin pot0as1 n = {s = n.s ! unit} ** {n = n.n} ; + +lin pot110 = regCardOrd "ten" ** {n = Pl} ; +lin pot111 = regCardOrd "eleven" ** {n = Pl} ; +lin pot1to19 d = {s = d.s ! teen} ** {n = Pl} ; +lin pot1 d = {s = d.s ! ten} ** {n = Pl} ; +lin pot1plus d e = { + s = \\o,c => d.s ! ten ! NCard ! Nom ++ BIND ++ "-" ++ BIND ++ e.s ! unit ! o ! c ; n = Pl} ; +lin pot1as2 n = {s = \\_ => n.s; n=n.n} ; + +lin pot21 = { + s = \\d,o,c => case d of {True => []; False => "a"} ++ + (regCardOrd "hunner").s ! o ! c; + n = Pl + } ; +lin pot2 d = {s = \\_,o,c => d.s ! unit ! NCard ! Nom ++ mkCard o "hundred" ! c} ** {n = Pl} ; +lin pot2plus d e = { + s = \\_,o,c => d.s ! unit ! NCard ! Nom ++ "hundred" ++ "and" ++ e.s ! o ! c ; n = Pl} ; +lin pot2as3 n = n ; + +lin pot31 = { + s = \\d,o,c => case d of {True => []; False => "a"} ++ + (regCardOrd "thousand").s ! o ! c; + n = Pl + } ; +lin pot3 n = { + s = \\d,o,c => n.s ! d ! NCard ! Nom ++ mkCard o "thoosand" ! c ; n = Pl} ; +lin pot3plus n m = { + s = \\d,o,c => n.s ! d ! NCard ! Nom ++ "thoosand" ++ m.s ! False ! o ! c; n = Pl} ; +lin pot3as4 n = n ; +lin pot3decimal f = { + s = \\d,o,c => f.s ! NCard ! Nom ++ mkCard o "thoosand" ! c ; n = Pl} ; + +lin pot41 = { + s = \\d,o,c => case d of {True => []; False => "a"} ++ + (regCardOrd "million").s ! o ! c; + n = Pl + } ; +lin pot4 n = { + s = \\d,o,c => n.s ! d ! NCard ! Nom ++ pot41.s ! True ! o ! c ; + n = Pl + } ; +lin pot4plus n1 n2 = { + s = \\d,o,c => n1.s ! d ! NCard ! Nom ++ pot41.s ! True ! NCard ! Nom ++ "and" ++ n2.s ! True ! o ! c; + n = Pl + } ; +lin pot4as5 n = n ; +lin pot4decimal f = { + s = \\d,o,c => f.s ! NCard ! Nom ++ pot41.s ! True ! o ! c ; n = Pl} ; + +lin pot51 = { + s = \\d,o,c => case d of {True => []; False => "a"} ++ + (regCardOrd "billion").s ! o ! c; + n = Pl + } ; +lin pot5 n = { + s = \\d,o,c => n.s ! d ! NCard ! Nom ++ pot51.s ! True ! o ! c ; + n = Pl + } ; +lin pot5plus n1 n2 = { + s = \\d,o,c => n1.s ! d ! NCard ! Nom ++ pot51.s ! True ! NCard ! Nom ++ "and" ++ n2.s ! True ! o ! c; + n = Pl + } ; +lin pot5decimal f = { + s = \\d,o,c => f.s ! NCard ! Nom ++ pot51.s ! True ! o ! c ; n = Pl} ; + +-- numerals as sequences of digits + + lincat + Dig = TDigit ; + + lin + IDig d = d ** {tail = T1} ; + + IIDig d i = { + s = \\o,c => d.s ! NCard ! Nom ++ commaIf i.tail ++ i.s ! o ! c ; + n = Pl ; + tail = inc i.tail + } ; + + D_0 = mkDig "0" ; + D_1 = mk3Dig "1" "1st" Sg ; + D_2 = mk2Dig "2" "2nd" ; + D_3 = mk2Dig "3" "3rd" ; + D_4 = mkDig "4" ; + D_5 = mkDig "5" ; + D_6 = mkDig "6" ; + D_7 = mkDig "7" ; + D_8 = mkDig "8" ; + D_9 = mkDig "9" ; + +lin PosDecimal d = d ** {hasDot=False} ; + NegDecimal d = {s=\\o,c=>"-" ++ BIND ++ d.s ! o ! c; hasDot=False; n = Pl} ; + IFrac d i = { + s=\\o,c=>d.s ! NCard ! Nom ++ + if_then_Str d.hasDot BIND (BIND++"."++BIND) ++ + i.s ! o ! c ; + hasDot=True; + n = Pl + } ; + + oper + commaIf : DTail -> Str = \t -> case t of { + T3 => BIND ++ "," ++ BIND ; + _ => BIND + } ; + + mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; + mkDig : Str -> TDigit = \c -> mk2Dig c (c + "th") ; + + mk3Dig : Str -> Str -> Number -> TDigit = \c,o,n -> { + s = table {NCard => regGenitiveS c ; NOrd => regGenitiveS o} ; + n = n + } ; + + TDigit = { + n : Number ; + s : CardOrd => Case => Str + } ; + +} diff --git a/src/scots/ParadigmsSco.gf b/src/scots/ParadigmsSco.gf new file mode 100644 index 00000000..4643ab75 --- /dev/null +++ b/src/scots/ParadigmsSco.gf @@ -0,0 +1,95 @@ +resource ParadigmsSco = ParadigmsEng - [regV, reg2V, regDuplV, irregV, irreg4V, irregDuplV, mkV, mkV2, mkV3, mkV2V, mkV2Q] ** open Prelude, ResSco, CatSco in { + +oper + regV : Str -> V ; + regV cry = + let + cries = (regN cry).s ! Pl ! Nom ; -- ! + criet : Str = case cry of { + rax@(_ + ("x"|"sh"|"ch")) => rax+"t"; + hurt@(_ + ("t"|"p"|"d")) => hurt + "it" ; + traivel@(_ + ("l"|"n"|"r"|"ie"|"y")) => traivel + "t" ; + clean => clean + "ed" + } ; + cryin : Str = case cry of { + _ + "ee" => cry + "in" ; + d + "ie" => d + "yin" ; + us + "e" => us + "in" ; + ent + "er" => ent + "erin" ; + _ => duplFinal cry + "in" + } + in mk5V cry cries criet criet cryin ; + + reg2V : Str -> Str -> V ; + reg2V fit fittet = + let fitt = Predef.tk 2 fittet ; + in + if_then_else V (pbool2bool (Predef.eqStr (last fit) (last fitt))) + (mk5V fit (fit + "s") (fitt + "et") (fitt + "et") (fitt + "in")) + (regV fit) ; + + regDuplV : Str -> V ; + regDuplV fit = + case last fit of { + ("a" | "e" | "i" | "o" | "u" | "y") => + Predef.error (["final duplication makes no sense for"] ++ fit) ; + t => + let fitt = fit + t in + mk5V fit (fit + "s") (fitt + "et") (fitt + "et") (fitt + "in") + } ; + + irregV : Str -> Str -> Str -> V ; + irregV x y z = let reg = (regV x).s in + mk5V x (reg ! VPres) y z (reg ! VPresPart) ** {s1 = []} ; + + irreg4V : Str -> Str -> Str -> Str -> V ; + irreg4V x y z w = let reg = (regV x).s in + mk5V x (reg ! VPres) y z w ** {s1 = []} ; + + irregDuplV : Str -> Str -> Str -> V ; + irregDuplV fit y z = + let + fitting = (regDuplV fit).s ! VPresPart + in + mk5V fit (fit + "s") y z fitting ; + + mkV = overload { + mkV : (cry : Str) -> V = regV ; + mkV : (stop, stopped : Str) -> V = reg2V ; + mkV : (drink, drank, drunk : Str) -> V = irregV ; + mkV : (run, ran, run, running : Str) -> V = irreg4V ; + mkV : (go, goes, went, gone, going : Str) -> V = mk5V ; + mkV : Str -> V -> V = prefixV + }; + + mkV2 = overload { + mkV2 : V -> V2 = dirV2 ; + mkV2 : Str -> V2 = \s -> dirV2 (regV s) ; + mkV2 : V -> Prep -> V2 = prepV2 ; + mkV2 : V -> Str -> V2 = \v,p -> prepV2 v (mkPrep p) ; + mkV2 : Str -> Prep -> V2 = \v,p -> prepV2 (regV v) p ; + mkV2 : Str -> Str -> V2 = \v,p -> prepV2 (regV v) (mkPrep p) + }; + + mkV3 = overload { + mkV3 : V -> Prep -> Prep -> V3 = prepPrepV3 ; + mkV3 : V -> Prep -> V3 = dirV3 ; + mkV3 : V -> Str -> V3 = \v,s -> dirV3 v (mkPrep s); + mkV3 : Str -> Str -> V3 = \v,s -> dirV3 (regV v) (mkPrep s); + mkV3 : V -> V3 = dirdirV3 ; + mkV3 : Str -> V3 = \v -> dirdirV3 (regV v) ; + } ; + + mkV2V = overload { + mkV2V : Str -> V2V = \s -> lin V2V (dirV2 (regV s) ** {c3 = [] ; typ = VVAux}) ; + mkV2V : V -> V2V = \v -> lin V2V (dirV2 v ** {c3 = [] ; typ = VVAux}) ; + mkV2V : V -> Prep -> Prep -> V2V = \v,p,t -> lin V2V (prepV2 v p ** {c3 = t.s ; typ = VVAux}) ; + } ; + mkV2Q = overload { + mkV2Q : V -> Prep -> V2Q = \v,p -> lin V2Q (prepV2 v p) ; + mkV2Q : V -> V2Q = \v -> lin V2Q (dirV2 v) ; + mkV2Q : V2 -> V2Q = \v2 -> lin V2Q v2 ; + mkV2Q : Str -> V2Q = \s -> lin V2Q (dirV2 (regV s)) ; + } ; + +} ; diff --git a/src/scots/PhraseSco.gf b/src/scots/PhraseSco.gf new file mode 100644 index 00000000..990b2535 --- /dev/null +++ b/src/scots/PhraseSco.gf @@ -0,0 +1,2 @@ +concrete PhraseSco of Phrase = PhraseEng ** { +} diff --git a/src/scots/QuestionSco.gf b/src/scots/QuestionSco.gf new file mode 100644 index 00000000..bac4b6cb --- /dev/null +++ b/src/scots/QuestionSco.gf @@ -0,0 +1,6 @@ +concrete QuestionSco of Question = QuestionEng-[QuestIComp] ** open ResSco in { + +lin QuestIComp icomp np = + mkQuestion icomp (mkClause (np.s ! npNom) np.a (predAux auxBe)) ; + +} diff --git a/src/scots/RelativeSco.gf b/src/scots/RelativeSco.gf new file mode 100644 index 00000000..b17ae3c7 --- /dev/null +++ b/src/scots/RelativeSco.gf @@ -0,0 +1,2 @@ +concrete RelativeSco of Relative = RelativeEng ** { +} diff --git a/src/scots/ResSco.gf b/src/scots/ResSco.gf new file mode 100644 index 00000000..be21c22a --- /dev/null +++ b/src/scots/ResSco.gf @@ -0,0 +1,38 @@ +resource ResSco = ResEng - [getCompar,getSuperl,auxBe,posneg] ** { + +oper + getCompar : Case -> Adjective -> Str = \c,a -> case a.isMost of { + True => "mair" ++ a.s ! AAdj Posit c ; + False => a.s ! AAdj Compar c + } ; + getSuperl : Case -> Adjective -> Str = \c,a -> case a.isMost of { + True => "maist" ++ a.s ! AAdj Posit c ; + False => a.s ! AAdj Superl c + } ; + + auxBe : Aux = { + pres = \\b,a => case of { + => "am" ; + => "amna" ; + _ => agrVerb (posneg b "is") (posneg b "are") a + } ; + contr = \\b,a => case of { + => cBind "m" ; + => cBind "m not" ; --- am not I + _ => agrVerb (posneg b (cBind "s")) (posneg b (cBind "re")) a + } ; + past = \\b,a => case a of { --# notpresent + AgP1 Sg | AgP3Sg _ => posneg b "wis" ; --# notpresent + _ => posneg b "wir" --# notpresent + } ; --# notpresent + inf = "be" ; + ppart = "been" ; + prpart = "bein" + } ; + + posneg : Polarity -> Str -> Str = \p,s -> case p of { + Pos => s ; + Neg => s + "na" + } ; + +} diff --git a/src/scots/SentenceSco.gf b/src/scots/SentenceSco.gf new file mode 100644 index 00000000..2dc98c1d --- /dev/null +++ b/src/scots/SentenceSco.gf @@ -0,0 +1,3 @@ +concrete SentenceSco of Sentence = SentenceEng ** { +} + diff --git a/src/scots/StructuralSco.gf b/src/scots/StructuralSco.gf new file mode 100644 index 00000000..f07db777 --- /dev/null +++ b/src/scots/StructuralSco.gf @@ -0,0 +1,2 @@ +concrete StructuralSco of Structural = StructuralEng ** { +} diff --git a/src/scots/SymbolSco.gf b/src/scots/SymbolSco.gf new file mode 100644 index 00000000..68063362 --- /dev/null +++ b/src/scots/SymbolSco.gf @@ -0,0 +1,2 @@ +concrete SymbolSco of Symbol = SymbolEng ** { +} diff --git a/src/scots/VerbSco.gf b/src/scots/VerbSco.gf new file mode 100644 index 00000000..23ffda0f --- /dev/null +++ b/src/scots/VerbSco.gf @@ -0,0 +1,7 @@ +concrete VerbSco of Verb = VerbEng-[UseComp,UseCopula,PassV2] ** open ResSco in { + +lin UseComp comp = insertObj comp.s (predAux auxBe) ; + UseCopula = predAux auxBe ; + PassV2 v = insertObj (\\_ => v.s ! VPPart ++ v.p) (predAux auxBe) ; + +} diff --git a/src/sindhi/LexiconSnd.gf b/src/sindhi/LexiconSnd.gf index 5deb86ac..de0de579 100644 --- a/src/sindhi/LexiconSnd.gf +++ b/src/sindhi/LexiconSnd.gf @@ -1,7 +1,6 @@ --# -path=.:prelude:alltenses concrete LexiconSnd of Lexicon = CatSnd ** ---open ResSnd, Prelude in { open ParadigmsSnd,MorphoSnd, Prelude in { flags diff --git a/src/sindhi/MorphoSnd.gf b/src/sindhi/MorphoSnd.gf index 3415e07b..43b43aa6 100644 --- a/src/sindhi/MorphoSnd.gf +++ b/src/sindhi/MorphoSnd.gf @@ -8,7 +8,7 @@ ---- syntax. To build a lexicon, it is better to use $ParadigmsSnd$, which ---- gives a higher-level access to this module. -- -resource MorphoSnd = ResSnd ** open Prelude,Predef in { +resource MorphoSnd = ResSnd ** open Prelude,Predef,CatSnd in { flags optimize=all ; @@ -17,8 +17,8 @@ resource MorphoSnd = ResSnd ** open Prelude,Predef in { ----2 Nouns oper - mkN : (x1,_,_,_,_,_,_,x8 : Str) -> Gender -> Noun = - \sd,so,sv,sa, pd,po,pv,pa, g -> { + mkN : (x1,_,_,_,_,_,_,x8 : Str) -> Gender -> N = + \sd,so,sv,sa, pd,po,pv,pa, g -> lin N { s = table { Sg => table { Dir => sd ; @@ -39,7 +39,7 @@ oper -- 1. msculine: chokro, kuto, hat - mkN01 : Str -> Noun ; + mkN01 : Str -> N ; mkN01 chokro = let chokr = (tk 1 chokro) in mkN (chokro) (chokr+"ی") (chokr+"ا") (chokr+"ا") (chokr+"ا") (chokr+"ن") (chokr+"ا") (chokr+"ا") @@ -47,81 +47,81 @@ oper -- 2. karkhano - mkN02 : Str -> Noun ; + mkN02 : Str -> N ; mkN02 karkhano =let karkhan = (tk 1 karkhano) in mkN (karkhano) (karkhan+"ی") (karkhan+"ا") (karkhano) (karkhan+"ا") (karkhan+"ن") (karkhan+"و") (karkhan+"ا") Fem ; -- 3. gher, shehar - mkN03 : Str -> Noun ; + mkN03 : Str -> N ; mkN03 gher = mkN (gher) (gher) (gher) (gher) (gher) (gher+"ن") (gher+"و") (gher) Masc ; -- 4. paki, mez, gah - mkN04 : Str -> Noun ; + mkN04 : Str -> N ; mkN04 paki = mkN (paki) (paki) (paki) (paki) (paki) (paki+"ن") (paki) (paki) Fem ; -- 5. msculine: bar, hotel, pathar - mkN05 : Str -> Noun ; + mkN05 : Str -> N ; mkN05 bar = mkN (bar) (bar) (bar) (bar) (bar) (bar+"ن") (bar+"و") (bar) Masc ; -- 6. pe - mkN06 : Str -> Noun ; + mkN06 : Str -> N ; mkN06 pe = mkN (pe) (pe) (pe) (pe) (pe+"۶ر") (pe+"۶رن") (pe+"۶رو") (pe+"۶ر") Masc ; -- 7. Feminine : ma - mkN07 : Str -> Noun ; + mkN07 : Str -> N ; mkN07 ma = mkN (ma) (ma) (ma) (ma) (ma+"۶ر") (ma+"۶رن") (ma+"۶رو") (ma+"۶ر") Fem ; -- 8. msculine: topi, takre - mkN08 : Str -> Noun ; + mkN08 : Str -> N ; mkN08 topi = mkN (topi) (topi) (topi) (topi) (topi+"ون") (topi+"ن") (topi+"و") (topi+"ون") Masc ; -- 9. Feminine: bere, bili, kurse - mkN09 : Str -> Noun ; + mkN09 : Str -> N ; mkN09 bili = mkN (bili) (bili) (bili) (bili) (bili+"ون") (bili+"ن") (bili+"ن") (bili+"ون") Fem ; -- 10. msculine: bha - mkN010 : Str -> Noun ; + mkN010 : Str -> N ; mkN010 bha = mkN (bha) (bha) (bha) (bha) (bha+"ر") (bha+"رن") (bha+"رو") (bha+"ر") Masc ; -- 11. Feminine: bhen - mkN11 : Str -> Noun ; + mkN11 : Str -> N ; mkN11 bhen = let bhe= (tk 1 bhen) in mkN (bhen) (bhen) (bhen) (bhen) (bhe+"نر") (bhe+"نرن") (bhen+"ون") (bhe+"نر") Fem ; --12. msculine: raja, darya - mkN12 : Str -> Noun ; + mkN12 : Str -> N ; mkN12 raja = mkN (raja) (raja) (raja) (raja) (raja) (raja+"۶ن") (raja+"۶و") (raja) Masc ; -- 13. msculine: fan, son, kher, - mkN13 : Str -> Noun ; + mkN13 : Str -> N ; mkN13 son = mkN (son) (son) (son) (son) (son) (son) (son) (son) Masc ; -- 14. Feminine: pen, samand - mkN14 : Str -> Noun ; + mkN14 : Str -> N ; mkN14 pen = mkN (pen) (pen) (pen) (pen) (pen) (pen) pen "" Fem ; @@ -175,7 +175,6 @@ oper ----2 Pronouns --PronForm = {s:Pronoun => Str}; - DemonPronForm = {s:DemPronForm => Str}; mkDemonPronForm : (x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16:Str) -> DemPronForm = \y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16 -> { s = table { diff --git a/src/sindhi/ParadigmsSnd.gf b/src/sindhi/ParadigmsSnd.gf index 7c8b7631..3506d2e0 100644 --- a/src/sindhi/ParadigmsSnd.gf +++ b/src/sindhi/ParadigmsSnd.gf @@ -60,7 +60,7 @@ mkPN = overload { \s1,s2,s3,s4,n,g -> let p = mkIntPronForm s1 s2 s3 s4 in { s = p.s ; n = n ; g = g ; lock_IP = <>}; -- AdN - mkAdN : Str -> AdN = \s -> ss s ; + mkAdN : Str -> AdN = \s -> lin AdN (ss s) ; --2 Adjectives diff --git a/src/sindhi/src/MorphoSnd.gf b/src/sindhi/src/MorphoSnd.gf index b6a02892..4f0b5f79 100644 --- a/src/sindhi/src/MorphoSnd.gf +++ b/src/sindhi/src/MorphoSnd.gf @@ -8,7 +8,7 @@ ---- syntax. To build a lexicon, it is better to use $ParadigmsSnd$, which ---- gives a higher-level access to this module. -- -resource MorphoSnd = ResSnd ** open Prelude,Predef in { +resource MorphoSnd = ResSnd ** open Prelude,Predef,CatSnd in { flags optimize=all ; @@ -17,8 +17,8 @@ resource MorphoSnd = ResSnd ** open Prelude,Predef in { ----2 Nouns oper - mkN : (x1,_,_,_,_,_,_,x8 : Str) -> Gender -> Noun = - \sd,so,sv,sa, pd,po,pv,pa, g -> { + mkN : (x1,_,_,_,_,_,_,x8 : Str) -> Gender -> N = + \sd,so,sv,sa, pd,po,pv,pa, g -> lin N { s = table { Sg => table { Dir => sd ; @@ -39,7 +39,7 @@ oper -- 1. msculine: chokro, kuto, hat - mkN01 : Str -> Noun ; + mkN01 : Str -> N ; mkN01 chokro = let chokr = (tk 1 chokro) in mkN (chokro) (chokr+"y") (chokr+"a") (chokr+"a") (chokr+"a") (chokr+"n") (chokr+"a") (chokr+"a") @@ -47,81 +47,81 @@ oper -- 2. karkhano - mkN02 : Str -> Noun ; + mkN02 : Str -> N ; mkN02 karkhano =let karkhan = (tk 1 karkhano) in mkN (karkhano) (karkhan+"y") (karkhan+"a") (karkhano) (karkhan+"a") (karkhan+"n") (karkhan+"W") (karkhan+"a") Fem ; -- 3. gher, shehar - mkN03 : Str -> Noun ; + mkN03 : Str -> N ; mkN03 gher = mkN (gher) (gher) (gher) (gher) (gher) (gher+"n") (gher+"W") (gher) Masc ; -- 4. paki, mez, gah - mkN04 : Str -> Noun ; + mkN04 : Str -> N ; mkN04 paki = mkN (paki) (paki) (paki) (paki) (paki) (paki+"n") (paki) (paki) Fem ; -- 5. msculine: bar, hotel, pathar - mkN05 : Str -> Noun ; + mkN05 : Str -> N ; mkN05 bar = mkN (bar) (bar) (bar) (bar) (bar) (bar+"n") (bar+"W") (bar) Masc ; -- 6. pe - mkN06 : Str -> Noun ; + mkN06 : Str -> N ; mkN06 pe = mkN (pe) (pe) (pe) (pe) (pe+"e'r") (pe+"e'rn") (pe+"e'rW") (pe+"e'r") Masc ; -- 7. Feminine : ma - mkN07 : Str -> Noun ; + mkN07 : Str -> N ; mkN07 ma = mkN (ma) (ma) (ma) (ma) (ma+"e'r") (ma+"e'rn") (ma+"e'rW") (ma+"e'r") Fem ; -- 8. msculine: topi, takre - mkN08 : Str -> Noun ; + mkN08 : Str -> N ; mkN08 topi = mkN (topi) (topi) (topi) (topi) (topi+"Wn") (topi+"n") (topi+"W") (topi+"Wn") Masc ; -- 9. Feminine: bere, bili, kurse - mkN09 : Str -> Noun ; + mkN09 : Str -> N ; mkN09 bili = mkN (bili) (bili) (bili) (bili) (bili+"Wn") (bili+"n") (bili+"n") (bili+"Wn") Fem ; -- 10. msculine: bha - mkN010 : Str -> Noun ; + mkN010 : Str -> N ; mkN010 bha = mkN (bha) (bha) (bha) (bha) (bha+"r") (bha+"rn") (bha+"rW") (bha+"r") Masc ; -- 11. Feminine: bhen - mkN11 : Str -> Noun ; + mkN11 : Str -> N ; mkN11 bhen = let bhe= (tk 1 bhen) in mkN (bhen) (bhen) (bhen) (bhen) (bhe+"nr") (bhe+"nrn") (bhen+"Wn") (bhe+"nr") Fem ; --12. msculine: raja, darya - mkN12 : Str -> Noun ; + mkN12 : Str -> N ; mkN12 raja = mkN (raja) (raja) (raja) (raja) (raja) (raja+"e'n") (raja+"e'W") (raja) Masc ; -- 13. msculine: fan, son, kher, - mkN13 : Str -> Noun ; + mkN13 : Str -> N ; mkN13 son = mkN (son) (son) (son) (son) (son) (son) (son) (son) Masc ; -- 14. Feminine: pen, samand - mkN14 : Str -> Noun ; + mkN14 : Str -> N ; mkN14 pen = mkN (pen) (pen) (pen) (pen) (pen) (pen) pen "" Fem ; diff --git a/src/slovak/ResSlo.gf b/src/slovak/ResSlo.gf index ba5f59f1..c6ea6043 100644 --- a/src/slovak/ResSlo.gf +++ b/src/slovak/ResSlo.gf @@ -894,7 +894,6 @@ oper msloc, msins, fsins, ampnom, fpnom, -- mpacc = fpacc = fpnom - pgen, pdat, -- NOT msins like AdjForms pins : Str } ; diff --git a/src/slovenian/ParadigmsSlv.gf b/src/slovenian/ParadigmsSlv.gf index 7cb1a45a..78a584af 100644 --- a/src/slovenian/ParadigmsSlv.gf +++ b/src/slovenian/ParadigmsSlv.gf @@ -38,7 +38,7 @@ oper compoundN : N -> Str -> N = \noun,adv -> noun ** {s = \\c,n => noun.s ! c ! n ++ adv} ; } ; - mkN2 : N -> Prep -> N2 = \n,c -> n ** {c=c} ; + mkN2 : N -> Prep -> N2 = \n,c -> lin N2 (n ** {c=c}) ; --All masculine forms (except those with long pluralstem) are formed here. --Takes the baseform + the genitive singular form + animacy. @@ -398,11 +398,11 @@ oper } ; mkV3 = overload { - mkV3 : V -> V3 = \v -> lin V2 (v ** {c2 = lin Prep {s=""; c=Acc}; c3 = lin Prep {s=""; c=Acc}}) ; - mkV3 : V -> Case -> Case -> V3 = \v,c2,c3 -> lin V2 (v ** {c2 = lin Prep {s=""; c=c2}; c3 = lin Prep {s=""; c=c3}}) ; - mkV3 : V -> Case -> Prep -> V3 = \v,c2,p3 -> lin V2 (v ** {c2 = lin Prep {s=""; c=c2}; c3 = p3}) ; - mkV3 : V -> Prep -> Case -> V3 = \v,p2,c3 -> lin V2 (v ** {c2 = p2 ; c3 = lin Prep {s=""; c=c3}}) ; - mkV3 : V -> Prep -> Prep -> V3 = \v,p2,p3 -> lin V2 (v ** {c2 = p2 ; c3 = p3}) ; + mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = lin Prep {s=""; c=Acc}; c3 = lin Prep {s=""; c=Acc}}) ; + mkV3 : V -> Case -> Case -> V3 = \v,c2,c3 -> lin V3 (v ** {c2 = lin Prep {s=""; c=c2}; c3 = lin Prep {s=""; c=c3}}) ; + mkV3 : V -> Case -> Prep -> V3 = \v,c2,p3 -> lin V3 (v ** {c2 = lin Prep {s=""; c=c2}; c3 = p3}) ; + mkV3 : V -> Prep -> Case -> V3 = \v,p2,c3 -> lin V3 (v ** {c2 = p2 ; c3 = lin Prep {s=""; c=c3}}) ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p2,p3 -> lin V3 (v ** {c2 = p2 ; c3 = p3}) ; } ; mkVA : V -> VA ; @@ -442,7 +442,7 @@ oper mkA : (x1,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,x166 : Str) -> A = worstA ; } ; - mkA2 : A -> Prep -> A2 = \a,c -> a ** {c=c} ; + mkA2 : A -> Prep -> A2 = \a,c -> lin A2 (a ** {c=c}) ; irregA : (_,_,_,_,_,_ :Str) -> A = \masc,fem,neut,mascC,femC,neutC -> lin A { s = table { diff --git a/src/somali/CatSom.gf b/src/somali/CatSom.gf index 3f97933d..06e7b48a 100644 --- a/src/somali/CatSom.gf +++ b/src/somali/CatSom.gf @@ -125,6 +125,7 @@ concrete CatSom of Cat = CommonX - [Adv,IAdv] ** open ResSom, Prelude in { linref -- Cl = linCl ; + V, VS, VQ, VA, VV, V2A, V2V, V2S, V2Q, V2, V3 = \v -> v.s ! VImp Sg Pos ; VP = infVP ; CN = linCN ; Prep = \prep -> prep.s ! ZeroObj ++ prep.sii ++ prep.dhex ++ prep.hoostiisa ! Sg3 Masc ; diff --git a/src/somali/DocumentationSom.gf b/src/somali/DocumentationSom.gf new file mode 100644 index 00000000..d207b1d0 --- /dev/null +++ b/src/somali/DocumentationSom.gf @@ -0,0 +1,154 @@ +concrete DocumentationSom of Documentation = CatSom ** open ResSom,Prelude,HTML in { + lincat Definition = {s : Str} ; + lincat Document = {s : Str} ; + lincat Inflection = {t : Str; s1 : Str; s2 : Str} ; + lincat Tag = {s : Str} ; + lin InflectionA, InflectionA2 = \adj -> { + t = "a"; + s1 = heading1 "Adjective"; + s2 = frameTable (tr (td "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (adj.s ! AF Sg Nom) ++ td (adj.s ! AF Pl Nom)) ++ + tr (th "Abs" ++ td (adj.s ! AF Sg Abs) ++ td (adj.s ! AF Pl Abs))) + } ; + lin InflectionAdA, InflectionAdN, InflectionAdV = \adv -> { + t = "adv"; + s1 = heading1 "Adverb"; + s2 = paragraph adv.s + } ; + lin InflectionAdv adv = {t = "adv"; s1 = heading1 "Adverb"; + s2 = frameTable (tr (th "sii" ++ td adv.sii) + ++ tr (th "dhex" ++ td adv.dhex) + ++ tr (th "berri" ++ td adv.berri) + ++ tr (th "miscAdv" ++ td adv.miscAdv) + ++ tr (th "np" ++ td adv.np.s))} ; + lin InflectionGN pn = {t = "pn"; s1 = heading1 "Name"; + s2 = frameTable (tr (th "" ++ td pn.s))} ; + lin InflectionLN pn = {t = "pn"; s1 = heading1 "Name"; + s2 = frameTable (tr (th "" ++ td pn.s))} ; + lin InflectionN,InflectionN2,InflectionN3 = \noun -> { + t = "n"; + s1 = heading1 "Noun"; + s2 = frameTable (tr (td "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Def" ++ td (noun.s ! Def Sg) ++ td (noun.s ! Def Pl)) ++ + tr (th "Indef" ++ td (noun.s ! Indef Sg) ++ td (noun.s ! Indef Pl)) ++ + tr (th "Nom" ++ td (noun.s ! NomSg) ++ td []) ++ + tr (th "Numerative" ++ intagAttr "td" "colspan=2" (noun.s ! Numerative))) + } ; + lin InflectionPN pn = {t = "pn"; s1 = heading1 "Name"; + s2 = frameTable (tr (th "" ++ td pn.s))} ; + lin InflectionPrep prep = {t = "prep"; s1 = heading1 "Preposition"; + s2 = frameTable (tr (th "Sg1Obj" ++ td (prep.s ! Sg1Obj)) + ++ tr (th "Sg2Obj" ++ td (prep.s ! Sg2Obj)) + ++ tr (th "(Pl1Obj Excl)" + ++ td (prep.s ! Pl1Obj Excl)) + ++ tr (th "(Pl1Obj Incl)" + ++ td (prep.s ! Pl1Obj Incl)) + ++ tr (th "Pl2Obj" + ++ td (prep.s ! Pl2Obj)) + ++ tr (th "ReflexiveObj" + ++ td (prep.s + ! ReflexiveObj)) + ++ tr (th "ZeroObj" + ++ td (prep.s + ! ZeroObj)) + ++ tr (th "berri" + ++ td prep.berri) + ++ tr (th "sii" + ++ td prep.sii) + ++ tr (th "dhex" + ++ td prep.dhex) + ++ tr (th "hoostiisa Sg1" + ++ td (prep.hoostiisa + ! Sg1)) + ++ tr (th "hoostiisa Sg2" + ++ td (prep.hoostiisa + ! Sg2)) + ++ tr (th "hoostiisa (Sg3 Masc)" + ++ td (prep.hoostiisa + ! Sg3 Masc)) + ++ tr (th "hoostiisa (Sg3 Fem)" + ++ td (prep.hoostiisa + ! Sg3 Fem)) + ++ tr (th "hoostiisa (Pl1 Excl)" + ++ td (prep.hoostiisa + ! Pl1 Excl)) + ++ tr (th "hoostiisa (Pl1 Incl)" + ++ td (prep.hoostiisa + ! Pl1 Incl)) + ++ tr (th "hoostiisa Pl2" + ++ td (prep.hoostiisa + ! Pl2)) + ++ tr (th "hoostiisa Pl3" + ++ td (prep.hoostiisa + ! Pl3)) + ++ tr (th "hoostiisa Impers" + ++ td (prep.hoostiisa + ! Impers)))} ; + lin InflectionSN pn = {t = "pn"; s1 = heading1 "Name"; + s2 = frameTable (tr (th "" ++ td pn.s))} ; + lin InflectionV v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV2 v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV2A v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV2Q v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV2S v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV2V v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionV3 v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionVA v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionVQ v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionVS v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin InflectionVV v = {t = "v"; s1 = heading1 "Verb"; s2 = inflectV v} ; + lin MkDefinition t d = {s = "

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

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

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

Example:" ++ t.s ++ "

"} ; + lin MkDocument d i e = {s = i.s1 ++ i.s2} ; + lin MkTag i = {s = i.t} ; + lin NoDefinition t = t ; + + oper inflectV : Verb -> Str = \v -> + heading2 "Infinitive" ++ + paragraph (v.s ! VInf) ++ + heading2 "Present" ++ + heading3 "Simple" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "Sg1_Sg3Masc" ++ td (v.s ! VPres Simple Sg1_Sg3Masc Pos) ++ td (v.s ! VPres Simple Sg1_Sg3Masc Neg)) ++ + tr (th "Sg2_Sg3Fem" ++ td (v.s ! VPres Simple Sg2_Sg3Fem Pos) ++ td (v.s ! VPres Simple Sg2_Sg3Fem Neg)) ++ + tr (th "Pl1" ++ td (v.s ! VPres Simple Pl1_ Pos) ++ td (v.s ! VPres Simple Pl1_ Neg)) ++ + tr (th "Pl2" ++ td (v.s ! VPres Simple Pl2_ Pos) ++ td (v.s ! VPres Simple Pl2_ Neg)) ++ + tr (th "Pl3" ++ td (v.s ! VPres Simple Pl3_ Pos) ++ td (v.s ! VPres Simple Pl3_ Neg))) ++ + heading3 "Progressive" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "Sg1_Sg3Masc" ++ td (v.s ! VPres Progressive Sg1_Sg3Masc Pos) ++ td (v.s ! VPres Progressive Sg1_Sg3Masc Neg)) ++ + tr (th "Sg2_Sg3Fem" ++ td (v.s ! VPres Progressive Sg2_Sg3Fem Pos) ++ td (v.s ! VPres Progressive Sg2_Sg3Fem Neg)) ++ + tr (th "Pl1" ++ td (v.s ! VPres Progressive Pl1_ Pos) ++ td (v.s ! VPres Progressive Pl1_ Neg)) ++ + tr (th "Pl2" ++ td (v.s ! VPres Progressive Pl2_ Pos) ++ td (v.s ! VPres Progressive Pl2_ Neg)) ++ + tr (th "Pl3" ++ td (v.s ! VPres Progressive Pl3_ Pos) ++ td (v.s ! VPres Progressive Pl3_ Neg))) ++ + heading2 "Past" ++ + heading3 "Simple" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "Sg1_Sg3Masc" ++ td (v.s ! VPast Simple Sg1_Sg3Masc) ++ intagAttr "td" "rowspan=5" (v.s ! VNegPast Simple)) ++ + tr (th "Sg2_Sg3Fem" ++ td (v.s ! VPast Simple Sg2_Sg3Fem)) ++ + tr (th "Pl1" ++ td (v.s ! VPast Simple Pl1_)) ++ + tr (th "Pl2" ++ td (v.s ! VPast Simple Pl2_)) ++ + tr (th "Pl3" ++ td (v.s ! VPast Simple Pl3_))) ++ + heading3 "Progressive" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "Sg1_Sg3Masc" ++ td (v.s ! VPast Progressive Sg1_Sg3Masc) ++ intagAttr "td" "rowspan=5" (v.s ! VNegPast Progressive)) ++ + tr (th "Sg2_Sg3Fem" ++ td (v.s ! VPast Progressive Sg2_Sg3Fem)) ++ + tr (th "Pl1" ++ td (v.s ! VPast Progressive Pl1_)) ++ + tr (th "Pl2" ++ td (v.s ! VPast Progressive Pl2_)) ++ + tr (th "Pl3" ++ td (v.s ! VPast Progressive Pl3_))) ++ + heading2 "Imperative" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "Sg" ++ td (v.s ! VImp Sg Pos) ++ td (v.s ! VImp Sg Neg)) ++ + tr (th "Pl" ++ td (v.s ! VImp Pl Pos) ++ td (v.s ! VImp Pl Neg))) ++ + heading2 "Relative" ++ + frameTable (tr (td "" ++ th "Pos" ++ th "Neg") ++ + tr (th "SgMasc" ++ td (v.s ! VRel SgMasc) ++ intagAttr "td" "rowspan=3" (v.s ! VRelNeg)) ++ + tr (th "SgFem" ++ td (v.s ! VRel SgFem)) ++ + tr (th "PlInv" ++ td (v.s ! VRel PlInv))) ++ + heading2 "Negative Conditional" ++ + frameTable (tr (th "SgMasc" ++ td (v.s ! VNegCond SgMasc)) ++ + tr (th "SgFem" ++ td (v.s ! VNegCond SgFem)) ++ + tr (th "PlInv" ++ td (v.s ! VNegCond PlInv))) ; +} diff --git a/src/somali/LangSom.gf b/src/somali/LangSom.gf index fb9ebeb4..4d1a4ae6 100644 --- a/src/somali/LangSom.gf +++ b/src/somali/LangSom.gf @@ -1,4 +1,5 @@ concrete LangSom of Lang = GrammarSom, LexiconSom, - ConstructionSom ; + ConstructionSom, + DocumentationSom ; diff --git a/src/somali/NounSom.gf b/src/somali/NounSom.gf index 5432a8b4..eb03c339 100644 --- a/src/somali/NounSom.gf +++ b/src/somali/NounSom.gf @@ -226,7 +226,7 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in { UseN,UseN2 = ResSom.useN ; -- : N2 -> NP -> CN ; -- Sahra hooyadeed - ComplN2 n2 np = genModCN (useN n2) np ; + ComplN2 n2 np = genModCN (lin CN (useN n2)) np ; {- -- : N3 -> NP -> N2 ; -- distance from this city (to Paris) @@ -250,7 +250,7 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in { mod = \\st,n,c => cn.mod ! st ! n ! Abs -- If there was something before, it is now in Abs ++ andConj st cn.modtype -- If the sentence is already modified, any new modifier needs to be introduced with conjunction - ++ ap.s ! AF n c ; + ++ ap.s ! AF n c ++ " " ++ ap.compar ; modtype = AMod } ; diff --git a/src/somali/ParadigmsSom.gf b/src/somali/ParadigmsSom.gf index deed7226..cec47c5b 100644 --- a/src/somali/ParadigmsSom.gf +++ b/src/somali/ParadigmsSom.gf @@ -219,7 +219,7 @@ oper mkV : Str -> V -> V = \s,v -> lin V (prefixV s v) } ; - copula = ResSom.copula ; + copula = lin V (ResSom.copula) ; regV : Str -> Verb = \s -> case s of { _ + #c + #c + "o" => mkVerb (cJoogso s) ; @@ -243,7 +243,7 @@ oper mkV3 = overload { mkV3 : (sug : Str) -> V3 = \s -> lin V3 (regV s ** {c2,c3 = noPrep}) ; mkV3 : (sug : Str) -> (_,_ : Adposition) -> V3 = \s,p,q -> lin V3 (regV s ** {c2 = p ; c3 = q}) ; - mkV3 : V -> (_,_ : Adposition) -> V2 = \v,p,q -> lin V3 (v ** {c2 = p ; c3 = q}) ; + mkV3 : V -> (_,_ : Adposition) -> V3 = \v,p,q -> lin V3 (v ** {c2 = p ; c3 = q}) ; } ; mkVV = overload { diff --git a/src/somali/StructuralSom.gf b/src/somali/StructuralSom.gf index 5ce16529..33861378 100644 --- a/src/somali/StructuralSom.gf +++ b/src/somali/StructuralSom.gf @@ -115,14 +115,14 @@ lin above_Prep = mkPrep (mkPrep ka) [] [] "dul" ; -- lin after_Prep = mkPrep "" -- lin before_Prep = mkPrep "" ; -- lin behind_Prep = mkPrep "" ; -lin between_Prep = possPrep (nUl "dhex") ; +lin between_Prep = possPrep (lin N (nUl "dhex")) ; -- lin by8agent_Prep = mkPrep ; -- lin by8means_Prep = mkPrep ; -- lin during_Prep = mkPrep ; -- lin except_Prep = mkPrep ; -- lin for_Prep = mkPrep ; -- lin from_Prep = mkPrep "" ; -lin in8front_Prep = possPrep (nUl "hor") ; +lin in8front_Prep = possPrep (lin N (nUl "hor")) ; lin in_Prep = mkPrep ku ; lin on_Prep = mkPrep ku ; -- lin part_Prep = mkPrep ; @@ -130,7 +130,7 @@ lin on_Prep = mkPrep ku ; -- lin through_Prep = mkPrep ; -- lin to_Prep = mkPrep ; lin under_Prep = - let hoos : CatSom.Prep = possPrep (nUl "hoos") + let hoos : CatSom.Prep = possPrep (lin N (nUl "hoos")) in hoos ** {c2 = Ku} ; lin with_Prep = mkPrep la ; -- lin without_Prep = mkPrep ; @@ -176,7 +176,7 @@ lin yes_Utt = ss "haa" ; ------- -- Verb -lin have_V2 = mkV2 have_V noPrep ; -- TODO: check if {sii = "l" ++ BIND ; isCopula=True} makes sense for present tense negative +lin have_V2 = mkV2 (lin V have_V) noPrep ; -- TODO: check if {sii = "l" ++ BIND ; isCopula=True} makes sense for present tense negative lin can8know_VV = can_VV ; -- can (capacity) lin can_VV = mkVV "kar" ; -- can (possibility) lin must_VV = mkVV waa_in ; @@ -190,18 +190,17 @@ lin please_Voc = ss "" ; -} oper mkIAdv : Adposition -> Str -> Bool -> ResSom.IAdv = \pr -> - let pr' : Prep = ParadigmsSom.mkPrep pr ; - in prepIP pr' ; + prepIP (ParadigmsSom.mkPrep pr) ; - mkIP : (maxay, maxaa : Str) -> Bool -> IP = \maxay,maxaa,b -> emptyNP ** { + mkIP : (maxay, maxaa : Str) -> Bool -> IP = \maxay,maxaa,b -> lin IP (emptyNP ** { s = table { Nom => maxaa ; -- together with STM Abs => maxay } ; -- alone, no STM (used in UttIP and IComp) contractSTM = b ; - } ; + }) ; - prepIP : Prep -> Str -> Bool -> ResSom.IAdv = \pr,str,b -> + prepIP : CatSom.Prep -> Str -> Bool -> ResSom.IAdv = \pr,str,b -> let adv : Adverb = prepNP (mkPrep pr str [] []) emptyNP ; - in adv ** {contractSTM = b ; s = linAdv adv} ; + in lin IP (adv ** {contractSTM = b ; s = linAdv adv}) ; } diff --git a/src/somali/unittest/ap.gftest b/src/somali/unittest/ap.gftest index baf20a2f..7ee5d098 100644 --- a/src/somali/unittest/ap.gftest +++ b/src/somali/unittest/ap.gftest @@ -23,6 +23,10 @@ Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQ LangSom: bisad BIND daasi bisad BIND dan waa ka weyn tahay Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN cat_N)) (UseComp (CompAP (ComparA big_A (DetCN (DetQuant this_Quant NumSg) (UseN cat_N)))))))) NoVoc +-- LangEng: house bigger than car +LangSom: guri ka weyn baabuur +Lang: PhrUtt NoPConj (UttNP (AdjCN (ComparA big_A (MassNP (UseN car_N))) (UseN house_N))) NoVoc + -- LangEng: that cat is biggest LangSom: bisad BIND daasi waa ugu weyn tahay Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN cat_N)) (UseComp (CompAP (AdjOrd (OrdSuperl big_A))))))) NoVoc diff --git a/src/spanish/ExtendSpa.gf b/src/spanish/ExtendSpa.gf index 12069287..7c9e1e5a 100644 --- a/src/spanish/ExtendSpa.gf +++ b/src/spanish/ExtendSpa.gf @@ -125,9 +125,7 @@ oper comp = \\a => vps.comp ! a ++ (let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) ++ agent ; } ; -lin AnaphPron np = agr2pron ! np.a ; - - ExistsNP np = +lin ExistsNP np = mkClause [] True False np.a (insertComplement (\\_ => (np.s ! Nom).ton) (predV (mkV "existir"))) ; diff --git a/src/spanish/MorphoSpa.gf b/src/spanish/MorphoSpa.gf index aea78c10..9c5bcd7b 100644 --- a/src/spanish/MorphoSpa.gf +++ b/src/spanish/MorphoSpa.gf @@ -166,65 +166,65 @@ oper -- Used in application grammars, please don't remove. /IL agr2pron : Agr => Pron = table { {g=Masc ; n=Sg ; p=P1} - => mkPronoun + => lin Pron (mkPronoun "yo" "me" "me" "mí" "mi" "mi" "mis" "mis" - Masc Sg P1 ; + Masc Sg P1) ; {g=Masc ; n=Sg ; p=P2} - => mkPronoun + => lin Pron (mkPronoun "tú" "te" "te" "ti" "tu" "tu" "tus" "tus" - Masc Sg P2 ; + Masc Sg P2) ; {g=Masc ; n=Sg ; p=P3} - => mkPronoun + => lin Pron (mkPronoun "él" "lo" "le" "él" "su" "su" "sus" "sus" - Masc Sg P3 ; + Masc Sg P3) ; {g=Masc ; n=Pl ; p=P1} - => mkPronoun + => lin Pron (mkPronoun "nosotros" "nos" "nos" "nosotros" "nuestro" "nuestra" "nuestros" "nuestras" - Masc Pl P1 ; + Masc Pl P1) ; {g=Masc ; n=Pl ; p=P2} - => mkPronoun + => lin Pron (mkPronoun "vosotros" "os" "os" "vosotros" "vuestro" "vuestra" "vuestros" "vuestras" - Masc Pl P2 ; + Masc Pl P2) ; {g=Masc ; n=Pl ; p=P3} - => mkPronoun + => lin Pron (mkPronoun "ellos" "los" "les" "ellos" "su" "su" "sus" "sus" - Masc Pl P3 ; + Masc Pl P3) ; {g=Fem ; n=Sg ; p=P1} - => mkPronoun + => lin Pron (mkPronoun "yo" "me" "me" "mí" "mi" "mi" "mis" "mis" - Fem Sg P1 ; + Fem Sg P1) ; {g=Fem ; n=Sg ; p=P2} - => mkPronoun + => lin Pron (mkPronoun "tú" "te" "te" "ti" "tu" "tu" "tus" "tus" - Fem Sg P2 ; + Fem Sg P2) ; {g=Fem ; n=Sg ; p=P3} - => mkPronoun + => lin Pron (mkPronoun "ella" "la" "le" "ella" "su" "su" "sus" "sus" - Fem Sg P3 ; + Fem Sg P3) ; {g=Fem ; n=Pl ; p=P1} - => mkPronoun + => lin Pron (mkPronoun "nosotras" "nos" "nos" "nosotras" "nuestro" "nuestra" "nuestros" "nuestras" - Fem Pl P1 ; + Fem Pl P1) ; {g=Fem ; n=Pl ; p=P2} - => mkPronoun + => lin Pron (mkPronoun "vosotras" "os" "os" "vosotras" "vuestro" "vuestra" "vuestros" "vuestras" - Fem Pl P2 ; + Fem Pl P2) ; {g=Fem ; n=Pl ; p=P3} - => mkPronoun + => lin Pron (mkPronoun "ellas" "las" "les" "ellas" "su" "su" "sus" "sus" - Fem Pl P3 + Fem Pl P3) } ; --2 Determiners diff --git a/src/spanish/NumeralSpa.gf b/src/spanish/NumeralSpa.gf index fbdb1ad2..1822fcef 100644 --- a/src/spanish/NumeralSpa.gf +++ b/src/spanish/NumeralSpa.gf @@ -153,12 +153,6 @@ param _ => BIND } ; - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; - oper mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; mkDig : Str -> TDigit = \c -> mk2Dig c (c + ":o") ; diff --git a/src/spanish/ParadigmsSpa.gf b/src/spanish/ParadigmsSpa.gf index d2ac452d..81a98f83 100644 --- a/src/spanish/ParadigmsSpa.gf +++ b/src/spanish/ParadigmsSpa.gf @@ -40,14 +40,14 @@ resource ParadigmsSpa = -- To abstract over gender names, we define the following identifiers. oper - Gender : Type ; + Gender : PType ; masculine : Gender ; feminine : Gender ; -- To abstract over number names, we define the following. - Number : Type ; + Number : PType ; singular : Number ; plural : Number ; diff --git a/src/swahili/DocumentationSwa.gf b/src/swahili/DocumentationSwa.gf new file mode 100755 index 00000000..a0ffc748 --- /dev/null +++ b/src/swahili/DocumentationSwa.gf @@ -0,0 +1,45 @@ +--# -path=.:../abstract:../common +concrete DocumentationSwa of Documentation = CatSwa ** open + ResSwa,ParamX,Prelude, + HTML in { + +lincat + Inflection = {t : Str; s1,s2 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin InflectionN,InflectionN2,InflectionN3 = \x -> { + t="n" ; + s1=heading1 ("Noun (class" ++ + case x.g of { + G1 => "I" ; + G2 => "II" ; + G3 => "III" ; + G4 => "IV" ; + G5 => "V" ; + G6 => "VI" ; + G7 => "VII" ; + G8 => "VIII" ; + G9 => "IX" ; + G10=> "X" ; + G11=> "XI" ; + G12=> "XII" ; + G13=> "XIII" + } ++ BIND ++ ")") ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Sg ! Nom) ++ td (x.s ! Pl ! Nom)) ++ + tr (th "Loc" ++ td (x.s ! Sg ! Loc) ++ td (x.s ! Pl ! Loc))) + } ; + +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 ++ paragraph e.s} ; + MkTag i = {s = i.t} ; + +} diff --git a/src/swahili/LangSwa.gf b/src/swahili/LangSwa.gf index def8c6d4..7821b987 100644 --- a/src/swahili/LangSwa.gf +++ b/src/swahili/LangSwa.gf @@ -4,5 +4,6 @@ concrete LangSwa of Lang = GrammarSwa, LexiconSwa -- ,ConstructionSwa + ,DocumentationSwa --# notpresent ** { } ; diff --git a/src/swahili/ParadigmsSwa.gf b/src/swahili/ParadigmsSwa.gf index 0e53099f..193fdb9a 100644 --- a/src/swahili/ParadigmsSwa.gf +++ b/src/swahili/ParadigmsSwa.gf @@ -9,7 +9,7 @@ resource ParadigmsSwa = open in { oper - Gender : Type ; + Gender : PType ; a_wa : Gender ; --m-wa u_i : Gender ; --m-mi li_ya : Gender ; --ji-ma @@ -26,14 +26,14 @@ oper -- To abstract over number names, we define the following. - Number : Type ; + Number : PType ; singular : Number ; plural : Number ; -- To abstract over case names, we define the following. - Case : Type ; --% + Case : PType ; --% nominative : Case ; --% locative : Case ; --% @@ -388,7 +388,7 @@ mkN2 = overload { } ; - regV=MorphoSwa.regV ; + regV : Str -> V = \v -> lin V (MorphoSwa.regV v) ; mkV = overload { mkV : Str -> V = \v ->lin V(regV v) ; diff --git a/src/telugu/NumeralTel.gf b/src/telugu/NumeralTel.gf index 21510fa6..75a40369 100644 --- a/src/telugu/NumeralTel.gf +++ b/src/telugu/NumeralTel.gf @@ -73,12 +73,6 @@ ---- _ => BIND ---- } ; ---- ----- inc : DTail -> DTail = \t -> case t of { ----- T1 => T2 ; ----- T2 => T3 ; ----- T3 => T1 ----- } ; ----- ---- mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ; ---- mkDig : Str -> TDigit = \c -> mk2Dig c (c + "th") ; ---- diff --git a/src/thai/ConstructionTha.gf b/src/thai/ConstructionTha.gf index 15289d4d..b36edc04 100644 --- a/src/thai/ConstructionTha.gf +++ b/src/thai/ConstructionTha.gf @@ -65,7 +65,7 @@ lin monthPN m = ss m.s ; languageNP l = mkNP l ; - languageCN l = mkCN l ; + languageCN l = l ; monday_Weekday = mkN (R.thword "วัน" "จั" "นท" "ร์") ; tuesday_Weekday = mkN (R.thword "วัน" "อัง" "คาร") ; diff --git a/src/thai/LexiconTha.gf b/src/thai/LexiconTha.gf index bef525b2..acfc30b3 100644 --- a/src/thai/LexiconTha.gf +++ b/src/thai/LexiconTha.gf @@ -11,12 +11,12 @@ lin airplane_N = mkN (thword "เครื่อง" "บิน") "ลำ" ; already_Adv = mkAdv (thword "เรียบ" "ร้อย") ; animal_N = animalN (thword "สัตว์") ; - answer_V2S = mkV2S (regV "ตอบ") [] ; ---- prep + answer_V2S = mkV2S (mkV "ตอบ") [] ; ---- prep apartment_N = mkN (thword "ห้อง" "เช่า")"ห้อง" ; apple_N = mkN (thbind "แอป" "เปิ้ล") "ลูก" ; art_N = mkN (thword "ศิล" "ปะ") ; ashes_N = mkN (thword "เถ้า") ; - ask_V2Q = regV "ถาม" ** {c2 = []} ; + ask_V2Q = mkV "ถาม" ** {c2 = []} ; at_Prep = mkPrep "ที่" ; baby_N = mkN (thword "เด็ก" "ทา" "รก") "คน" ; back_N = mkN (thword "หลัง") ; @@ -26,7 +26,7 @@ lin beautiful_A = mkA "สวย" ; become_VA = mkV (thword "กลาย" "เป็น") ; -- pen beer_N = mkN biar_s kew_s ; - beg_V2V = regV "ขอ" ** {c2 = [] ; c3 = "ให้"} ; --- hay as prep of VP + beg_V2V = mkV "ขอ" ** {c2 = [] ; c3 = "ให้"} ; --- hay as prep of VP belly_N = mkN (thword "พุง") ; big_A = mkA (thword "ใหญ่") ; bike_N = mkN (thword "จักร" "ยาน") "คัน" ; @@ -105,7 +105,7 @@ lin father_N2 = mkN2 (personN (thword "พ่อ")) poss ; fear_N = mkN (thword "ความ" "กลัว") ; fear_V2 = mkV2 "กลัว"; - fear_VS = mkVS (regV "กลัว") ; + fear_VS = mkVS (mkV "กลัว") ; feather_N = mkN (thword "ขน" "นก") ; fight_V2 = mkV2 (thword "สู้") ; find_V2 = mkV2 "หา" ; @@ -151,7 +151,7 @@ lin hill_N = placeN (thword "เนิน" "เขา") ; hit_V2 = mkV2 (thword "ตี") ; hold_V2 = mkV2 (thword "รั้ง") ; - hope_VS = mkVS (regV "หวัง") ; + hope_VS = mkVS (mkV "หวัง") ; horn_N = mkN (thword "เขา") ; horse_N = mkN "ม้า" " ตัว" ; hot_A = mkA "ร้อน" ; @@ -168,8 +168,8 @@ lin king_N = mkN (thword "พระ" "รา" "ชา") (thword "พระ" "องด์") ; knee_N = mkN (thword "เข่า") ; know_V2 = mkV2 "รู้" ; ----? - know_VQ = lin VQ (regV "รู้") ; - know_VS = lin VS (regV "รู้") ; + know_VQ = lin VQ (mkV "รู้") ; + know_VS = lin VS (mkV "รู้") ; lake_N = mkN (thword "ทะ" "เล" "สาบ") ; ----? lamp_N = mkN (thword "โคม" "ไฟ") ; ----? language_N = mkN (thword "ภา" "ษา") ; ----? @@ -214,7 +214,7 @@ lin old_A = mkA (thword "แก่") ; open_V2 = mkV2 (mkV "เปิด") ; other_A = mkA "อื่น" ; - paint_V2A = mkV2A (regV "ทา") [] "สี" ; + paint_V2A = mkV2A (mkV "ทา") [] "สี" ; paper_N = mkN (thword "กระ" "ดาษ") ; ----? paris_PN = ss "ปารีส" ; peace_N = mkN (thword "สัน" "ติ" "ภาพ"); ----? @@ -255,7 +255,7 @@ lin run_V = mkV "วิ่ง" ; salt_N = mkN (thword "เกลือ") ; sand_N = mkN (thword "ทราย") ; - say_VS = mkVS (regV "พูด") ; + say_VS = mkVS (mkV "พูด") ; school_N = placeN (thword "โรง" "เรียน") ; ---- science_N = mkN "science" ; ----? scratch_V2 = mkV2 (thword "เกา") ; @@ -351,7 +351,7 @@ lin wing_N = mkN (thword "ปิก") ; wipe_V2 = mkV2 (thword "เช็ด") ; woman_N = personN (thword "หญิง") ; - wonder_VQ = mkVQ (regV (thword "ประ" "หลาด" "ใจ")) ; ---- + wonder_VQ = mkVQ (mkV (thword "ประ" "หลาด" "ใจ")) ; ---- wood_N = mkN "ไม้" ; ----? worm_N = animalN (thword "หนอน") ; write_V2 = mkV2 "เขียน" ; diff --git a/src/turkish/NounTur.gf b/src/turkish/NounTur.gf index 286f7d1c..47aab179 100644 --- a/src/turkish/NounTur.gf +++ b/src/turkish/NounTur.gf @@ -243,4 +243,9 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, ParamX, a = np.a } ; + QuantityNP n m = { + s = \\c => preOrPost m.isPre m.s (n.s ! NCard ! Sg ! Nom) ; + h = mkHar I_Har SVow ; -- guessed + a = agrP3 n.n + } ; } diff --git a/src/turkish/NumeralTur.gf b/src/turkish/NumeralTur.gf index 5f833aae..b16bef6d 100644 --- a/src/turkish/NumeralTur.gf +++ b/src/turkish/NumeralTur.gf @@ -92,10 +92,4 @@ oper T3 => BIND++","++BIND ; _ => BIND } ; - - inc : DTail -> DTail = \t -> case t of { - T1 => T2 ; - T2 => T3 ; - T3 => T1 - } ; } diff --git a/src/turkish/ParadigmsTur.gf b/src/turkish/ParadigmsTur.gf index bca8d9d6..67d6821e 100644 --- a/src/turkish/ParadigmsTur.gf +++ b/src/turkish/ParadigmsTur.gf @@ -55,10 +55,10 @@ resource ParadigmsTur = open mkV2V : V -> V2V = \verb -> lin V2V (verb ** {c = noPrep}) ; mkV2S : V -> V2S = \verb -> lin V2S (verb ** {c = noPrep}) ; - mkVA : V -> VA = \verb -> verb ; - mkVV : V -> VV = \verb -> verb ; - mkVS : V -> VS = \verb -> verb ; - mkVQ : V -> VQ = \verb -> verb ; + mkVA : V -> VA = \verb -> lin VA verb ; + mkVV : V -> VV = \verb -> lin VV verb ; + mkVS : V -> VS = \verb -> lin VS verb ; + mkVQ : V -> VQ = \verb -> lin VQ verb ; -- make a regular verb -- supply infinitive, softened infinitive, future infinitive forms and diff --git a/src/ukrainian/AdjectiveUkr.gf b/src/ukrainian/AdjectiveUkr.gf new file mode 100644 index 00000000..c92be58b --- /dev/null +++ b/src/ukrainian/AdjectiveUkr.gf @@ -0,0 +1,4 @@ +concrete AdjectiveUkr of Adjective = CatUkr ** { +lin + PositA a = a ; +} diff --git a/src/ukrainian/AllUkr.gf b/src/ukrainian/AllUkr.gf new file mode 100644 index 00000000..cdc10d0b --- /dev/null +++ b/src/ukrainian/AllUkr.gf @@ -0,0 +1,4 @@ +concrete AllUkr of AllUkrAbs = + LangUkr + ** + {} ; diff --git a/src/ukrainian/AllUkrAbs.gf b/src/ukrainian/AllUkrAbs.gf new file mode 100644 index 00000000..3249e20d --- /dev/null +++ b/src/ukrainian/AllUkrAbs.gf @@ -0,0 +1,3 @@ +abstract AllUkrAbs = + Lang + ** {} \ No newline at end of file diff --git a/src/ukrainian/CatUkr.gf b/src/ukrainian/CatUkr.gf new file mode 100644 index 00000000..f233e219 --- /dev/null +++ b/src/ukrainian/CatUkr.gf @@ -0,0 +1,21 @@ +concrete CatUkr of Cat = CommonX ** open ResUkr in { + +lincat N = N ; +lincat N2 = N ** {c2 : Compl} ; +lincat N3 = N ** {c2,c3 : Compl} ; +lincat V = V ; +lincat VV,VS,VQ,VA = V ; +lincat V2 = V ** {c2 : Compl} ; +lincat V3,V2A,V2S,V2Q,V2V = V ** {c2,c3 : Compl} ; +lincat A = A ; +lincat A2 = A ** {c2 : Compl} ; +lincat Prep = Compl ; +lincat CN = CommonNoun ; +lincat AP = AdjPhrase ; +lincat S = {s : Str} ; + +lincat LN,SN,GN,PN = {s : Str} ; + +linref V,VV,V2,V3,V2A,V2S,V2Q,V2V = \v -> v.infinitive ; + +} diff --git a/src/ukrainian/DocumentationUkr.gf b/src/ukrainian/DocumentationUkr.gf new file mode 100644 index 00000000..5b90db47 --- /dev/null +++ b/src/ukrainian/DocumentationUkr.gf @@ -0,0 +1,79 @@ +concrete DocumentationUkr of Documentation = CatUkr ** open + ResUkr, 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="" ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! Sg) ++ td (x.s ! Nom ! Pl)) ++ + tr (th "Acc" ++ td (x.s ! Acc ! Sg) ++ td (x.s ! Acc ! Pl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! Sg) ++ td (x.s ! Dat ! Pl)) ++ + tr (th "Gen" ++ td (x.s ! Gen ! Sg) ++ td (x.s ! Gen ! Pl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! Sg) ++ td (x.s ! Loc ! Pl)) ++ + tr (th "Instr" ++ td (x.s ! Instr ! Sg) ++ td (x.s ! Instr ! 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="" ; + s2=heading1 "Infinitive" ++ + paragraph (x.infinitive) ++ + heading1 "Present" ++ + frameTable ( + tr (intagAttr "th" "rowspan=\"6\"" "Pres" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P1 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P2 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P2 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td ((x.active ! Imperf).Pres ! P3 ! Sg)) ++ + tr (th "Pl" ++ td ((x.active ! Imperf).Pres ! P3 ! Pl))) ++ + heading1 "Imperative" ++ + paragraph (x.imperative1) ++ + frameTable ( + tr (th "Sg" ++ td (x.imperative2 ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative2 ! Pl))) ++ + heading1 "participle" ++ + frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (th "Masc" ++ td (x.participle ! Masc ! Sg) ++ td (x.participle ! Masc ! Pl)) ++ + tr (th "Fem" ++ td (x.participle ! Fem ! Sg) ++ td (x.participle ! Fem ! Pl)) ++ + tr (th "Neuter" ++ td (x.participle ! Neuter ! Sg) ++ td (x.participle ! Neuter ! Pl))) ; + s3=[] + } ; +lin + InflectionA,InflectionA2 = \x -> { + t="a" ; + s1="" ; + s2=frameTable ( + tr (th "" ++ th "Masc" ++ th "Fem" ++ th "Neuter" ++ th "Pl") ++ + tr (th "Nom" ++ td (x.s ! Nom ! GSg Masc) ++ td (x.s ! Nom ! GSg Fem) ++ td (x.s ! Nom ! GSg Neuter) ++ td (x.s ! Nom ! GPl)) ++ + tr (th "Acc" ++ td (x.s ! Acc ! GSg Masc) ++ td (x.s ! Acc ! GSg Fem) ++ td (x.s ! Acc ! GSg Neuter) ++ td (x.s ! Acc ! GPl)) ++ + tr (th "Dat" ++ td (x.s ! Dat ! GSg Masc) ++ td (x.s ! Dat ! GSg Fem) ++ td (x.s ! Dat ! GSg Neuter) ++ td (x.s ! Dat ! GPl)) ++ + tr (th "Gen" ++ td (x.s ! Gen ! GSg Masc) ++ td (x.s ! Gen ! GSg Fem) ++ td (x.s ! Gen ! GSg Neuter) ++ td (x.s ! Gen ! GPl)) ++ + tr (th "Loc" ++ td (x.s ! Loc ! GSg Masc) ++ td (x.s ! Loc ! GSg Fem) ++ td (x.s ! Loc ! GSg Neuter) ++ td (x.s ! Loc ! GPl)) ++ + tr (th "Instr"++td (x.s ! Instr ! GSg Masc)++td (x.s ! Instr ! GSg Fem)++td (x.s ! Instr ! GSg Neuter)++td (x.s ! Instr ! GPl))) ; + s3=[] + } ; +lin + InflectionAdA,InflectionAdN,InflectionAdV,InflectionAdv = \x -> {t="adv"; s1=""; s2=x.s; s3=""} ; + + InflectionPrep = \x -> {t="prep"; s1=""; s2=x.s; 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/ukrainian/GrammarUkr.gf b/src/ukrainian/GrammarUkr.gf new file mode 100644 index 00000000..a7d6ff4d --- /dev/null +++ b/src/ukrainian/GrammarUkr.gf @@ -0,0 +1,6 @@ +concrete GrammarUkr of Grammar = + TenseX, + PhraseUkr, + NounUkr, + AdjectiveUkr ** { +} \ No newline at end of file diff --git a/src/ukrainian/LangUkr.gf b/src/ukrainian/LangUkr.gf new file mode 100644 index 00000000..14d8e1ee --- /dev/null +++ b/src/ukrainian/LangUkr.gf @@ -0,0 +1,10 @@ +--# -path=.:../abstract +concrete LangUkr of Lang = + GrammarUkr, + LexiconUkr + ,DocumentationUkr --# notpresent + ** { + +flags startcat = Phr ; + +} \ No newline at end of file diff --git a/src/ukrainian/LexiconUkr.gf b/src/ukrainian/LexiconUkr.gf new file mode 100644 index 00000000..137242ba --- /dev/null +++ b/src/ukrainian/LexiconUkr.gf @@ -0,0 +1,2 @@ +concrete LexiconUkr of Lexicon = CatUkr ** open ParadigmsUkr in { +} \ No newline at end of file diff --git a/src/ukrainian/MorphoUkr.gf b/src/ukrainian/MorphoUkr.gf new file mode 100644 index 00000000..60c4cdfd --- /dev/null +++ b/src/ukrainian/MorphoUkr.gf @@ -0,0 +1,33464 @@ +resource MorphoUkr = open CatUkr, ResUkr, Predef in { + +oper + +mkN001 : Str -> N ; +mkN001 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN001" + } ; + +mkN002 : Str -> N ; +mkN002 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"к" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN002" + } ; + +mkN003 : Str -> N ; +mkN003 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN003" + } ; + +mkN004 : Str -> N ; +mkN004 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN004" + } ; + +mkN005 : Str -> N ; +mkN005 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN005" + } ; + +mkN006 : Str -> N ; +mkN006 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN006" + } ; + +mkN007 : Str -> N ; +mkN007 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"ок" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN007" + } ; + +mkN008 : Str -> N ; +mkN008 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN008" + } ; + +mkN009 : Str -> N ; +mkN009 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN009" + } ; + +mkN010 : Str -> N ; +mkN010 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"сю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN010" + } ; + +mkN011 : Str -> N ; +mkN011 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN011" + } ; + +mkN012 : Str -> N ; +mkN012 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN012" + } ; + +mkN013 : Str -> N ; +mkN013 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN013" + } ; + +mkN014 : Str -> N ; +mkN014 base = + case base of { + base_1+"ко" => lin N + { s = table { + Nom => table { + Sg => base_1+"ко" ; + Pl => base_1+"чі" + } ; + Acc => table { + Sg => base_1+"ко" ; + Pl => base_1+"чі" + } ; + Dat => table { + Sg => base_1+"ку" ; + Pl => base_1+"чам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"чей" + } ; + Loc => table { + Sg => base_1+"ку" ; + Pl => base_1+"чах" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"чима" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"чі" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN014" + } ; + +mkN015 : Str -> N ; +mkN015 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN015" + } ; + +mkN016 : Str -> N ; +mkN016 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN016" + } ; + +mkN017 : Str -> N ; +mkN017 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN017" + } ; + +mkN018 : Str -> N ; +mkN018 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"кові" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN018" + } ; + +mkN019 : Str -> N ; +mkN019 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"кові" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN019" + } ; + +mkN020 : Str -> N ; +mkN020 base = + case base of { + base_1+"о"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ою" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN020" + } ; + +mkN021 : Str -> N ; +mkN021 base = + case base of { + base_1+"о"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"і"+base_2 + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ою" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN021" + } ; + +mkN022 : Str -> N ; +mkN022 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN022" + } ; + +mkN023 : Str -> N ; +mkN023 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN023" + } ; + +mkN024 : Str -> N ; +mkN024 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN024" + } ; + +mkN025 : Str -> N ; +mkN025 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN025" + } ; + +mkN026 : Str -> N ; +mkN026 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN026" + } ; + +mkN027 : Str -> N ; +mkN027 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN027" + } ; + +mkN028 : Str -> N ; +mkN028 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"ері" + } ; + Acc => table { + Sg => base_1+"ір" ; + Pl => base_1+"ерів" + } ; + Dat => table { + Sg => base_1+"ері" ; + Pl => base_1+"ерям" + } ; + Gen => table { + Sg => base_1+"ері" ; + Pl => base_1+"ерів" + } ; + Loc => table { + Sg => base_1+"ері" ; + Pl => base_1+"ерях" + } ; + Instr => table { + Sg => base_1+"ір'ю" ; + Pl => base_1+"ерями" + } + } ; + Voc = table { + Sg => base_1+"и" ; + Pl => base_1+"ері" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN028" + } ; + +mkN029 : Str -> N ; +mkN029 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN029" + } ; + +mkN030 : Str -> N ; +mkN030 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN030" + } ; + +mkN031 : Str -> N ; +mkN031 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN031" + } ; + +mkN032 : Str -> N ; +mkN032 base = + case base of { + base_1+"ко" => lin N + { s = table { + Nom => table { + Sg => base_1+"ко" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ко" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ку" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => nonExist + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN032" + } ; + +mkN033 : Str -> N ; +mkN033 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"ги" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гою" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"го" ; + Pl => base_1+"ги" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN033" + } ; + +mkN034 : Str -> N ; +mkN034 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN034" + } ; + +mkN035 : Str -> N ; +mkN035 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN035" + } ; + +mkN036 : Str -> N ; +mkN036 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN036" + } ; + +mkN037 : Str -> N ; +mkN037 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN037" + } ; + +mkN038 : Str -> N ; +mkN038 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ок" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"ок" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN038" + } ; + +mkN039 : Str -> N ; +mkN039 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ею" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN039" + } ; + +mkN040 : Str -> N ; +mkN040 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"тю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN040" + } ; + +mkN041 : Str -> N ; +mkN041 base = + case base of { + base_1+"о"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN041" + } ; + +mkN042 : Str -> N ; +mkN042 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN042" + } ; + +mkN043 : Str -> N ; +mkN043 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"га" ; + Pl => base_1+"гів" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гів" + } ; + Loc => table { + Sg => base_1+"гові" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"же" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN043" + } ; + +mkN044 : Str -> N ; +mkN044 base = + case base of { + base_1+"ога" => lin N + { s = table { + Nom => table { + Sg => base_1+"ога" ; + Pl => base_1+"оги" + } ; + Acc => table { + Sg => base_1+"огу" ; + Pl => base_1+"оги" + } ; + Dat => table { + Sg => base_1+"озі" ; + Pl => base_1+"огам" + } ; + Gen => table { + Sg => base_1+"оги" ; + Pl => base_1+"іг" + } ; + Loc => table { + Sg => base_1+"озі" ; + Pl => base_1+"огах" + } ; + Instr => table { + Sg => base_1+"огою" ; + Pl => base_1+"огами" + } + } ; + Voc = table { + Sg => base_1+"ого" ; + Pl => base_1+"оги" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN044" + } ; + +mkN045 : Str -> N ; +mkN045 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN045" + } ; + +mkN046 : Str -> N ; +mkN046 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN046" + } ; + +mkN047 : Str -> N ; +mkN047 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ій" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"ої" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"ій" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN047" + } ; + +mkN048 : Str -> N ; +mkN048 base = + case base of { + base_1+"о"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ою" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN048" + } ; + +mkN049 : Str -> N ; +mkN049 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"'ю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN049" + } ; + +mkN050 : Str -> N ; +mkN050 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN050" + } ; + +mkN051 : Str -> N ; +mkN051 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ьми" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN051" + } ; + +mkN052 : Str -> N ; +mkN052 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN052" + } ; + +mkN053 : Str -> N ; +mkN053 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"зі" + } ; + Acc => table { + Sg => base_1+"га" ; + Pl => base_1+"зів" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"зям" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"зів" + } ; + Loc => table { + Sg => base_1+"гові" ; + Pl => base_1+"зях" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"зями" + } + } ; + Voc = table { + Sg => base_1+"же" ; + Pl => base_1+"зі" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN053" + } ; + +mkN054 : Str -> N ; +mkN054 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гів" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN054" + } ; + +mkN055 : Str -> N ; +mkN055 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"та" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"т" + } ; + Dat => table { + Sg => base_1+"ті" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ти" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"ті" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"м" ; + Pl => base_1+"тами" + } + } ; + Voc = table { + Sg => base_1 ; + Pl => base_1+"та" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN055" + } ; + +mkN056 : Str -> N ; +mkN056 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN056" + } ; + +mkN057 : Str -> N ; +mkN057 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN057" + } ; + +mkN058 : Str -> N ; +mkN058 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN058" + } ; + +mkN059 : Str -> N ; +mkN059 base = + case base of { + base_1+"х" => lin N + { s = table { + Nom => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Dat => table { + Sg => base_1+"хові" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ху" ; + Pl => base_1+"хів" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хом" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"ху" ; + Pl => base_1+"хи" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN059" + } ; + +mkN060 : Str -> N ; +mkN060 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN060" + } ; + +mkN061 : Str -> N ; +mkN061 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN061" + } ; + +mkN062 : Str -> N ; +mkN062 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"хи" + } ; + Dat => table { + Sg => base_1+"сі" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хи" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хою" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"хо" ; + Pl => base_1+"хи" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN062" + } ; + +mkN063 : Str -> N ; +mkN063 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" --guessed + } ; + Acc => table { + Sg => base_1 ; --guessed + Pl => base_1+"и" --guessed + } ; + Dat => table { + Sg => base_1+"ові" ; --guessed + Pl => base_1+"ам" --guessed + } ; + Gen => table { + Sg => base_1+"у" ; --guessed + Pl => base_1+"ів" --guessed + } ; + Loc => table { + Sg => base_1+"і" ; --guessed + Pl => base_1+"ах" --guessed + } ; + Instr => table { + Sg => base_1+"ом" ; --guessed + Pl => base_1+"ами" --guessed + } + } ; + Voc = table { + Sg => base_1+"е" ; --guessed + Pl => base_1+"и" --guessed + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN063" + } ; + +mkN064 : Str -> N ; +mkN064 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+"е"+base_2+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN064" + } ; + +mkN065 : Str -> N ; +mkN065 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN065" + } ; + +mkN066 : Str -> N ; +mkN066 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN066" + } ; + +mkN067 : Str -> N ; +mkN067 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN067" + } ; + +mkN068 : Str -> N ; +mkN068 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN068" + } ; + +mkN069 : Str -> N ; +mkN069 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN069" + } ; + +mkN070 : Str -> N ; +mkN070 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN070" + } ; + +mkN071 : Str -> N ; +mkN071 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"га" ; + Pl => base_1+"гів" + } ; + Loc => table { + Sg => base_1+"гу" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN071" + } ; + +mkN072 : Str -> N ; +mkN072 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN072" + } ; + +mkN073 : Str -> N ; +mkN073 base = + case base of { + base_1+"ь"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь"+base_2+"а" ; + Pl => base_1+"ь"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"у" ; + Pl => base_1+"ь"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ь"+base_2+"і" ; + Pl => base_1+"ь"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ь"+base_2+"и" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+"ь"+base_2+"і" ; + Pl => base_1+"ь"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ь"+base_2+"ою" ; + Pl => base_1+"ь"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ь"+base_2+"о" ; + Pl => base_1+"ь"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN073" + } ; + +mkN074 : Str -> N ; +mkN074 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN074" + } ; + +mkN075 : Str -> N ; +mkN075 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ку" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN075" + } ; + +mkN076 : Str -> N ; +mkN076 base = + case base of { + base_1+base_2@?+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ня" ; + Pl => base_1+base_2+"ні" + } ; + Acc => table { + Sg => base_1+base_2+"ню" ; + Pl => base_1+base_2+"ні" + } ; + Dat => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+base_2+"ням" + } ; + Gen => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+"ен"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"ні" ; + Pl => base_1+base_2+"нях" + } ; + Instr => table { + Sg => base_1+base_2+"нею" ; + Pl => base_1+base_2+"нями" + } + } ; + Voc = table { + Sg => base_1+base_2+"не" ; + Pl => base_1+base_2+"ні" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN076" + } ; + +mkN077 : Str -> N ; +mkN077 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"о"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ею" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN077" + } ; + +mkN078 : Str -> N ; +mkN078 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN078" + } ; + +mkN079 : Str -> N ; +mkN079 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN079" + } ; + +mkN080 : Str -> N ; +mkN080 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1+"іх" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN080" + } ; + +mkN081 : Str -> N ; +mkN081 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN081" + } ; + +mkN082 : Str -> N ; +mkN082 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN082" + } ; + +mkN083 : Str -> N ; +mkN083 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN083" + } ; + +mkN084 : Str -> N ; +mkN084 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN084" + } ; + +mkN085 : Str -> N ; +mkN085 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN085" + } ; + +mkN086 : Str -> N ; +mkN086 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN086" + } ; + +mkN087 : Str -> N ; +mkN087 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN087" + } ; + +mkN088 : Str -> N ; +mkN088 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN088" + } ; + +mkN089 : Str -> N ; +mkN089 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN089" + } ; + +mkN090 : Str -> N ; +mkN090 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => nonExist + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN090" + } ; + +mkN091 : Str -> N ; +mkN091 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN091" + } ; + +mkN092 : Str -> N ; +mkN092 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN092" + } ; + +mkN093 : Str -> N ; +mkN093 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"лю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN093" + } ; + +mkN094 : Str -> N ; +mkN094 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"гу" ; + Pl => base_1+"гів" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN094" + } ; + +mkN095 : Str -> N ; +mkN095 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN095" + } ; + +mkN096 : Str -> N ; +mkN096 base = + case base of { + base_1+"ей" => lin N + { s = table { + Nom => table { + Sg => base_1+"ей" ; + Pl => base_1+"'ї" + } ; + Acc => table { + Sg => base_1+"'я" ; + Pl => base_1+"'ї" + } ; + Dat => table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ям" + } ; + Gen => table { + Sg => base_1+"'я" ; + Pl => base_1+"'їв" + } ; + Loc => table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ях" + } ; + Instr => table { + Sg => base_1+"'єм" ; + Pl => base_1+"'ями" + } + } ; + Voc = table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN096" + } ; + +mkN097 : Str -> N ; +mkN097 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ї" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ї" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"ї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN097" + } ; + +mkN098 : Str -> N ; +mkN098 base = + case base of { + base_1+"оха" => lin N + { s = table { + Nom => table { + Sg => base_1+"оха" ; + Pl => base_1+"охи" + } ; + Acc => table { + Sg => base_1+"оху" ; + Pl => base_1+"охи" + } ; + Dat => table { + Sg => base_1+"осі" ; + Pl => base_1+"охам" + } ; + Gen => table { + Sg => base_1+"охи" ; + Pl => base_1+"іх" + } ; + Loc => table { + Sg => base_1+"осі" ; + Pl => base_1+"охах" + } ; + Instr => table { + Sg => base_1+"охою" ; + Pl => base_1+"охами" + } + } ; + Voc = table { + Sg => base_1+"охо" ; + Pl => base_1+"охи" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN098" + } ; + +mkN099 : Str -> N ; +mkN099 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN099" + } ; + +mkN100 : Str -> N ; +mkN100 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN100" + } ; + +mkN101 : Str -> N ; +mkN101 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"г" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"ги" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гою" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"го" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN101" + } ; + +mkN102 : Str -> N ; +mkN102 base = + case base of { + base_1+"г" => lin N + { s = table { + Nom => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"г" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"гові" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"гу" ; + Pl => base_1+"гів" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гом" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"же" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN102" + } ; + +mkN103 : Str -> N ; +mkN103 base = + case base of { + base_1+"і"+base_2@("ст"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN103" + } ; + +mkN104 : Str -> N ; +mkN104 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ьми" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN104" + } ; + +mkN105 : Str -> N ; +mkN105 base = + case base of { + base_1+"це" => lin N + { s = table { + Nom => table { + Sg => base_1+"це" ; + Pl => base_1+"ця" + } ; + Acc => table { + Sg => base_1+"це" ; + Pl => base_1+"ця" + } ; + Dat => table { + Sg => base_1+"цю" ; + Pl => base_1+"цям" + } ; + Gen => table { + Sg => base_1+"ця" ; + Pl => base_1+"ець" + } ; + Loc => table { + Sg => base_1+"цю" ; + Pl => base_1+"цях" + } ; + Instr => table { + Sg => base_1+"цем" ; + Pl => base_1+"цями" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ця" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN105" + } ; + +mkN106 : Str -> N ; +mkN106 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"дю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN106" + } ; + +mkN107 : Str -> N ; +mkN107 base = + case base of { + "о"+base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => "о"+base_1+"е"+base_2 ; + Pl => "ві"+base_1+base_2+"а" + } ; + Acc => table { + Sg => "о"+base_1+"е"+base_2 ; + Pl => "ві"+base_1+base_2+"а" + } ; + Dat => table { + Sg => "ві"+base_1+base_2+"ові" ; + Pl => "ві"+base_1+base_2+"ам" + } ; + Gen => table { + Sg => "ві"+base_1+base_2+"а" ; + Pl => "ві"+base_1+base_2+"ів" + } ; + Loc => table { + Sg => "ві"+base_1+base_2+"і" ; + Pl => "ві"+base_1+base_2+"ах" + } ; + Instr => table { + Sg => "ві"+base_1+base_2+"ом" ; + Pl => "ві"+base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => "ві"+base_1+base_2+"е" ; + Pl => "ві"+base_1+base_2+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN107" + } ; + +mkN108 : Str -> N ; +mkN108 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"ги" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гою" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"го" ; + Pl => base_1+"ги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN108" + } ; + +mkN109 : Str -> N ; +mkN109 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"дю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN109" + } ; + +mkN110 : Str -> N ; +mkN110 base = + case base of { + base_1+"о"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"а" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN110" + } ; + +mkN111 : Str -> N ; +mkN111 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"чю" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN111" + } ; + +mkN112 : Str -> N ; +mkN112 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"чю" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN112" + } ; + +mkN113 : Str -> N ; +mkN113 base = + case base of { + base_1+"е"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"о" ; + Pl => base_1+"е"+base_2+"а" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"о" ; + Pl => base_1+"е"+base_2+"а" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"о" ; + Pl => base_1+"е"+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN113" + } ; + +mkN114 : Str -> N ; +mkN114 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN114" + } ; + +mkN115 : Str -> N ; +mkN115 base = + case base of { + base_1+"'я" => lin N + { s = table { + Nom => table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + Acc => table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + Dat => table { + Sg => base_1+"ені" ; + Pl => base_1+"енам" + } ; + Gen => table { + Sg => base_1+"ені" ; + Pl => base_1+"ен" + } ; + Loc => table { + Sg => base_1+"ені" ; + Pl => base_1+"енах" + } ; + Instr => table { + Sg => base_1+"енем" ; + Pl => base_1+"енами" + } + } ; + Voc = table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN115" + } ; + +mkN116 : Str -> N ; +mkN116 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN116" + } ; + +mkN117 : Str -> N ; +mkN117 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" --guessed + } ; + Acc => table { + Sg => base_1 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" --guessed + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN117" + } ; + +mkN118 : Str -> N ; +mkN118 base = + case base of { + base_1+"о"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"і"+base_2 + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ою" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN118" + } ; + +mkN119 : Str -> N ; +mkN119 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN119" + } ; + +mkN120 : Str -> N ; +mkN120 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN120" + } ; + +mkN121 : Str -> N ; +mkN121 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"шю" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN121" + } ; + +mkN122 : Str -> N ; +mkN122 base = + case base of { + base_1+"е"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ою" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"о" ; + Pl => base_1+"е"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN122" + } ; + +mkN123 : Str -> N ; +mkN123 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN123" + } ; + +mkN124 : Str -> N ; +mkN124 base = + case base of { + base_1+"ъ" => lin N + { s = table { + Nom => table { + Sg => base_1+"ъ" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN124" + } ; + +mkN125 : Str -> N ; +mkN125 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"еса" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"еса" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"есам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ес" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"есах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"есами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"еса" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN125" + } ; + +mkN126 : Str -> N ; +mkN126 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+"е"+base_2 + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN126" + } ; + +mkN127 : Str -> N ; +mkN127 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN127" + } ; + +mkN128 : Str -> N ; +mkN128 base = + case base of { + base_1+"о"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"о" ; + Pl => base_1+"о"+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN128" + } ; + +mkN129 : Str -> N ; +mkN129 base = + case base of { + base_1+"це" => lin N + { s = table { + Nom => table { + Sg => base_1+"це" ; + Pl => base_1+"ця" + } ; + Acc => table { + Sg => base_1+"це" ; + Pl => base_1+"ця" + } ; + Dat => table { + Sg => base_1+"цю" ; + Pl => base_1+"цям" + } ; + Gen => table { + Sg => base_1+"ця" ; + Pl => base_1+"ць" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"цях" + } ; + Instr => table { + Sg => base_1+"цем" ; + Pl => base_1+"цями" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ця" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN129" + } ; + +mkN130 : Str -> N ; +mkN130 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN130" + } ; + +mkN131 : Str -> N ; +mkN131 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN131" + } ; + +mkN132 : Str -> N ; +mkN132 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN132" + } ; + +mkN133 : Str -> N ; +mkN133 base = + case base of { + base_1+"х" => lin N + { s = table { + Nom => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"ха" ; + Pl => base_1+"хів" + } ; + Dat => table { + Sg => base_1+"хові" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"хів" + } ; + Loc => table { + Sg => base_1+"хові" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хом" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"ше" ; + Pl => base_1+"хи" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN133" + } ; + +mkN134 : Str -> N ; +mkN134 base = + case base of { + base_1+"х" => lin N + { s = table { + Nom => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Dat => table { + Sg => base_1+"хові" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"хів" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хом" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"ху" ; + Pl => base_1+"хи" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN134" + } ; + +mkN135 : Str -> N ; +mkN135 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN135" + } ; + +mkN136 : Str -> N ; +mkN136 base = + case base of { + base_1+"ин" => lin N + { s = table { + Nom => table { + Sg => base_1+"ин" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"ина" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"инові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ина" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"инові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ином" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"ине" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN136" + } ; + +mkN137 : Str -> N ; +mkN137 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN137" + } ; + +mkN138 : Str -> N ; +mkN138 base = + case base of { + base_1+"ий" => lin N + { s = table { + Nom => table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ому" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"ого" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"ому" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"им" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN138" + } ; + +mkN139 : Str -> N ; +mkN139 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN139" + } ; + +mkN140 : Str -> N ; +mkN140 base = + case base of { + base_1+"ец"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ец"+base_2 ; + Pl => base_1+base_2+"ці" + } ; + Acc => table { + Sg => base_1+"ец"+base_2 ; + Pl => base_1+base_2+"ці" + } ; + Dat => table { + Sg => base_1+base_2+"цеві" ; + Pl => base_1+base_2+"цям" + } ; + Gen => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ців" + } ; + Loc => table { + Sg => base_1+base_2+"цю" ; + Pl => base_1+base_2+"цях" + } ; + Instr => table { + Sg => base_1+base_2+"цем" ; + Pl => base_1+base_2+"цями" + } + } ; + Voc = table { + Sg => base_1+base_2+"цю" ; + Pl => base_1+base_2+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN140" + } ; + +mkN141 : Str -> N ; +mkN141 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"зю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN141" + } ; + +mkN142 : Str -> N ; +mkN142 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ню" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN142" + } ; + +mkN143 : Str -> N ; +mkN143 base = + case base of { + base_1+"іг" => lin N + { s = table { + Nom => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Acc => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Dat => table { + Sg => base_1+"огові" ; + Pl => base_1+"огам" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"огів" + } ; + Loc => table { + Sg => base_1+"озі" ; + Pl => base_1+"огах" + } ; + Instr => table { + Sg => base_1+"огом" ; + Pl => base_1+"огами" + } + } ; + Voc = table { + Sg => base_1+"огу" ; + Pl => base_1+"оги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN143" + } ; + +mkN144 : Str -> N ; +mkN144 base = + case base of { + base_1+"іг" => lin N + { s = table { + Nom => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Acc => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Dat => table { + Sg => base_1+"огові" ; + Pl => base_1+"огам" + } ; + Gen => table { + Sg => base_1+"огу" ; + Pl => base_1+"огів" + } ; + Loc => table { + Sg => base_1+"озі" ; + Pl => base_1+"огах" + } ; + Instr => table { + Sg => base_1+"огом" ; + Pl => base_1+"огами" + } + } ; + Voc = table { + Sg => base_1+"огу" ; + Pl => base_1+"оги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN144" + } ; + +mkN145 : Str -> N ; +mkN145 base = + case base of { + base_1+base_2@?+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + Acc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+"де"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN145" + } ; + +mkN146 : Str -> N ; +mkN146 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"има" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN146" + } ; + +mkN147 : Str -> N ; +mkN147 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN147" + } ; + +mkN148 : Str -> N ; +mkN148 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" --guessed + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" --guessed + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" --guessed + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" --guessed + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN148" + } ; + +mkN149 : Str -> N ; +mkN149 base = + case base of { + base_1+"'я" => lin N + { s = table { + Nom => table { + Sg => base_1+"'я" ; + Pl => base_1+"'ї" + } ; + Acc => table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ї" + } ; + Dat => table { + Sg => base_1+"'ї" ; + Pl => base_1+"'ям" + } ; + Gen => table { + Sg => base_1+"'ї" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"'ї" ; + Pl => base_1+"'ях" + } ; + Instr => table { + Sg => base_1+"'єю" ; + Pl => base_1+"'ями" + } + } ; + Voc = table { + Sg => base_1+"'є" ; + Pl => base_1+"'ї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN149" + } ; + +mkN150 : Str -> N ; +mkN150 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN150" + } ; + +mkN151 : Str -> N ; +mkN151 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"та" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"та" + } ; + Dat => table { + Sg => base_1+"ті" ; + Pl => base_1+"там" + } ; + Gen => table { + Sg => base_1+"ти" ; + Pl => base_1+"т" + } ; + Loc => table { + Sg => base_1+"ті" ; + Pl => base_1+"тах" + } ; + Instr => table { + Sg => base_1+"м" ; + Pl => base_1+"тами" + } + } ; + Voc = table { + Sg => base_1 ; + Pl => base_1+"та" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN151" + } ; + +mkN152 : Str -> N ; +mkN152 base = + case base of { + base_1+"й"+base_2@?+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"я" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"я" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"є"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ем" ; + Pl => base_1+"й"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN152" + } ; + +mkN153 : Str -> N ; +mkN153 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+"о"+base_2 + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN153" + } ; + +mkN154 : Str -> N ; +mkN154 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN154" + } ; + +mkN155 : Str -> N ; +mkN155 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN155" + } ; + +mkN156 : Str -> N ; +mkN156 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN156" + } ; + +mkN157 : Str -> N ; +mkN157 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN157" + } ; + +mkN158 : Str -> N ; +mkN158 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN158" + } ; + +mkN159 : Str -> N ; +mkN159 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN159" + } ; + +mkN160 : Str -> N ; +mkN160 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN160" + } ; + +mkN161 : Str -> N ; +mkN161 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"г" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"ги" ; + Pl => base_1+"г" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гою" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"го" ; + Pl => base_1+"ги" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN161" + } ; + +mkN162 : Str -> N ; +mkN162 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"к" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"к" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN162" + } ; + +mkN163 : Str -> N ; +mkN163 base = + case base of { + base_1+"ець" => lin N + { s = table { + Nom => table { + Sg => base_1+"ець" ; + Pl => base_1+"ці" + } ; + Acc => table { + Sg => base_1+"ця" ; + Pl => base_1+"ці" + } ; + Dat => table { + Sg => base_1+"цеві" ; + Pl => base_1+"цям" + } ; + Gen => table { + Sg => base_1+"ця" ; + Pl => base_1+"ців" + } ; + Loc => table { + Sg => base_1+"цеві" ; + Pl => base_1+"цях" + } ; + Instr => table { + Sg => base_1+"цем" ; + Pl => base_1+"цями" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN163" + } ; + +mkN164 : Str -> N ; +mkN164 base = + case base of { + base_1+"є"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"є"+base_2+"ь" ; + Pl => base_1+"й"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"еві" ; + Pl => base_1+"й"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"еві" ; + Pl => base_1+"й"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ем" ; + Pl => base_1+"й"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN164" + } ; + +mkN165 : Str -> N ; +mkN165 base = + case base of { + base_1+"чя" => lin N + { s = table { + Nom => table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + Acc => table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + Dat => table { + Sg => base_1+"чю" ; + Pl => base_1+"чям" + } ; + Gen => table { + Sg => base_1+"чя" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"чі" ; + Pl => base_1+"чях" + } ; + Instr => table { + Sg => base_1+"чям" ; + Pl => base_1+"чями" + } + } ; + Voc = table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN165" + } ; + +mkN166 : Str -> N ; +mkN166 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN166" + } ; + +mkN167 : Str -> N ; +mkN167 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN167" + } ; + +mkN168 : Str -> N ; +mkN168 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"'ю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN168" + } ; + +mkN169 : Str -> N ; +mkN169 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN169" + } ; + +mkN170 : Str -> N ; +mkN170 base = + case base of { + base_1+"ина" => lin N + { s = table { + Nom => table { + Sg => base_1+"ина" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"ину" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"ині" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ини" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ині" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"иною" ; + Pl => base_1+"ьми" + } + } ; + Voc = table { + Sg => base_1+"ино" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN170" + } ; + +mkN171 : Str -> N ; +mkN171 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN171" + } ; + +mkN172 : Str -> N ; +mkN172 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN172" + } ; + +mkN173 : Str -> N ; +mkN173 base = + case base of { + base_1+"і"+base_2@("ск"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN173" + } ; + +mkN174 : Str -> N ; +mkN174 base = + case base of { + "ві"+base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => "ві"+base_1+base_2+"я" ; + Pl => "ві"+base_1+base_2+"і" + } ; + Acc => table { + Sg => "ві"+base_1+base_2+"ю" ; + Pl => "ві"+base_1+base_2+"і" + } ; + Dat => table { + Sg => "ві"+base_1+base_2+"і" ; + Pl => "ві"+base_1+base_2+"ям" + } ; + Gen => table { + Sg => "ві"+base_1+base_2+"і" ; + Pl => "о"+base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => "ві"+base_1+base_2+"і" ; + Pl => "ві"+base_1+base_2+"ях" + } ; + Instr => table { + Sg => "ві"+base_1+base_2+"ею" ; + Pl => "ві"+base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => "ві"+base_1+base_2+"е" ; + Pl => "ві"+base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN174" + } ; + +mkN175 : Str -> N ; +mkN175 base = + case base of { + base_1+"де"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"де"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"де"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN175" + } ; + +mkN176 : Str -> N ; +mkN176 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN176" + } ; + +mkN177 : Str -> N ; +mkN177 base = + case base of { + base_1+"о"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ею" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN177" + } ; + +mkN178 : Str -> N ; +mkN178 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN178" + } ; + +mkN179 : Str -> N ; +mkN179 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"єві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN179" + } ; + +mkN180 : Str -> N ; +mkN180 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN180" + } ; + +mkN181 : Str -> N ; +mkN181 base = + case base of { + base_1+"і"+base_2@("зд"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN181" + } ; + +mkN182 : Str -> N ; +mkN182 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ьми" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN182" + } ; + +mkN183 : Str -> N ; +mkN183 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ьми" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN183" + } ; + +mkN184 : Str -> N ; +mkN184 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN184" + } ; + +mkN185 : Str -> N ; +mkN185 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN185" + } ; + +mkN186 : Str -> N ; +mkN186 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN186" + } ; + +mkN187 : Str -> N ; +mkN187 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN187" + } ; + +mkN188 : Str -> N ; +mkN188 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"е"+base_2+"лю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN188" + } ; + +mkN189 : Str -> N ; +mkN189 base = + case base of { + base_1+"е"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ей" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"лю" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN189" + } ; + +mkN190 : Str -> N ; +mkN190 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ов" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN190" + } ; + +mkN191 : Str -> N ; +mkN191 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN191" + } ; + +mkN192 : Str -> N ; +mkN192 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN192" + } ; + +mkN193 : Str -> N ; +mkN193 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN193" + } ; + +mkN194 : Str -> N ; +mkN194 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN194" + } ; + +mkN195 : Str -> N ; +mkN195 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN195" + } ; + +mkN196 : Str -> N ; +mkN196 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN196" + } ; + +mkN197 : Str -> N ; +mkN197 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN197" + } ; + +mkN198 : Str -> N ; +mkN198 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN198" + } ; + +mkN199 : Str -> N ; +mkN199 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN199" + } ; + +mkN200 : Str -> N ; +mkN200 base = + case base of { + base_1+base_2@?+base_3@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+base_3+"о" ; + Pl => base_1+"те"+base_2+base_3+"а" + } ; + Acc => table { + Sg => base_1+base_2+base_3+"о" ; + Pl => base_1+"те"+base_2+base_3+"а" + } ; + Dat => table { + Sg => base_1+base_2+base_3+"у" ; + Pl => base_1+"те"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+base_2+base_3+"а" ; + Pl => base_1+"те"+base_2+"о"+base_3 + } ; + Loc => table { + Sg => base_1+base_2+base_3+"у" ; + Pl => base_1+"те"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+base_2+base_3+"ом" ; + Pl => base_1+"те"+base_2+base_3+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+base_3+"о" ; + Pl => base_1+"те"+base_2+base_3+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN200" + } ; + +mkN201 : Str -> N ; +mkN201 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ові" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN201" + } ; + +mkN202 : Str -> N ; +mkN202 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN202" + } ; + +mkN203 : Str -> N ; +mkN203 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN203" + } ; + +mkN204 : Str -> N ; +mkN204 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN204" + } ; + +mkN205 : Str -> N ; +mkN205 base = + case base of { + base_1+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + Acc => table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + Dat => table { + Sg => base_1+"ню" ; + Pl => base_1+"ням" + } ; + Gen => table { + Sg => base_1+"ня" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ні" ; + Pl => base_1+"нях" + } ; + Instr => table { + Sg => base_1+"ням" ; + Pl => base_1+"нями" + } + } ; + Voc = table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN205" + } ; + +mkN206 : Str -> N ; +mkN206 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" --guessed + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" --guessed + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" --guessed + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" --guessed + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" --guessed + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN206" + } ; + +mkN207 : Str -> N ; +mkN207 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN207" + } ; + +mkN208 : Str -> N ; +mkN208 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN208" + } ; + +mkN209 : Str -> N ; +mkN209 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN209" + } ; + +mkN210 : Str -> N ; +mkN210 base = + case base of { + base_1+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN210" + } ; + +mkN211 : Str -> N ; +mkN211 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN211" + } ; + +mkN212 : Str -> N ; +mkN212 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN212" + } ; + +mkN213 : Str -> N ; +mkN213 base = + case base of { + base_1+"и"+base_2@?+"ина" => lin N + { s = table { + Nom => table { + Sg => base_1+"и"+base_2+"ина" ; + Pl => base_1+"і"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"и"+base_2+"ину" ; + Pl => base_1+"і"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"и"+base_2+"ині" ; + Pl => base_1+"і"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"и"+base_2+"ини" ; + Pl => base_1+"і"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"и"+base_2+"ині" ; + Pl => base_1+"і"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"и"+base_2+"иною" ; + Pl => base_1+"і"+base_2+"ьми" + } + } ; + Voc = table { + Sg => base_1+"и"+base_2+"ино" ; + Pl => base_1+"і"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN213" + } ; + +mkN214 : Str -> N ; +mkN214 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN214" + } ; + +mkN215 : Str -> N ; +mkN215 base = + case base of { + base_1+"ий" => lin N + { s = table { + Nom => table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ого" ; + Pl => base_1+"их" + } ; + Dat => table { + Sg => base_1+"ому" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"ого" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"ому" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"им" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN215" + } ; + +mkN216 : Str -> N ; +mkN216 base = + case base of { + base_1+"є"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"є"+base_2+"ь" ; + Pl => base_1+"й"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"еві" ; + Pl => base_1+"й"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"еві" ; + Pl => base_1+"й"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ем" ; + Pl => base_1+"й"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN216" + } ; + +mkN217 : Str -> N ; +mkN217 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"х" + } ; + Dat => table { + Sg => base_1+"сі" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хи" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хою" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"хо" ; + Pl => base_1+"хи" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN217" + } ; + +mkN218 : Str -> N ; +mkN218 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN218" + } ; + +mkN219 : Str -> N ; +mkN219 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN219" + } ; + +mkN220 : Str -> N ; +mkN220 base = + case base of { + base_1+"ья" => lin N + { s = table { + Nom => table { + Sg => base_1+"ья" ; + Pl => base_1+"ьї" + } ; + Acc => table { + Sg => base_1+"ью" ; + Pl => base_1+"ьї" + } ; + Dat => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ьям" + } ; + Gen => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ьях" + } ; + Instr => table { + Sg => base_1+"ьєю" ; + Pl => base_1+"ьями" + } + } ; + Voc = table { + Sg => base_1+"ьє" ; + Pl => base_1+"ьї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN220" + } ; + +mkN221 : Str -> N ; +mkN221 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN221" + } ; + +mkN222 : Str -> N ; +mkN222 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN222" + } ; + +mkN223 : Str -> N ; +mkN223 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"ню" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN223" + } ; + +mkN224 : Str -> N ; +mkN224 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"і"+base_2+"ьми" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN224" + } ; + +mkN225 : Str -> N ; +mkN225 base = + case base of { + base_1+"ина" => lin N + { s = table { + Nom => table { + Sg => base_1+"ина" ; + Pl => base_1+"ата" + } ; + Acc => table { + Sg => base_1+"ину" ; + Pl => base_1+"ат" + } ; + Dat => table { + Sg => base_1+"ині" ; + Pl => base_1+"атам" + } ; + Gen => table { + Sg => base_1+"ини" ; + Pl => base_1+"ат" + } ; + Loc => table { + Sg => base_1+"ині" ; + Pl => base_1+"атах" + } ; + Instr => table { + Sg => base_1+"иною" ; + Pl => base_1+"атами" + } + } ; + Voc = table { + Sg => base_1+"ино" ; + Pl => base_1+"ата" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN225" + } ; + +mkN226 : Str -> N ; +mkN226 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"кю" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN226" + } ; + +mkN227 : Str -> N ; +mkN227 base = + case base of { + base_1+"ій"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій"+base_2+"а" ; + Pl => base_1+"ій"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"ій"+base_2+"у" ; + Pl => base_1+"ій"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ій"+base_2+"і" ; + Pl => base_1+"ій"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ій"+base_2+"и" ; + Pl => base_1+"оє"+base_2 + } ; + Loc => table { + Sg => base_1+"ій"+base_2+"і" ; + Pl => base_1+"ій"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ій"+base_2+"ою" ; + Pl => base_1+"ій"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ій"+base_2+"о" ; + Pl => base_1+"ій"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN227" + } ; + +mkN228 : Str -> N ; +mkN228 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" --guessed + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"і"+base_2+"тю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN228" + } ; + +mkN229 : Str -> N ; +mkN229 base = + case base of { + base_1+"і"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN229" + } ; + +mkN230 : Str -> N ; +mkN230 base = + case base of { + base_1+"ій" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій" ; + Pl => base_1+"ої" + } ; + Acc => table { + Sg => base_1+"ій" ; + Pl => base_1+"ої" + } ; + Dat => table { + Sg => base_1+"ою" ; + Pl => base_1+"оям" + } ; + Gen => table { + Sg => base_1+"ою" ; + Pl => base_1+"оїв" + } ; + Loc => table { + Sg => base_1+"ою" ; + Pl => base_1+"оях" + } ; + Instr => table { + Sg => base_1+"оєм" ; + Pl => base_1+"оями" + } + } ; + Voc = table { + Sg => base_1+"ою" ; + Pl => base_1+"ої" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN230" + } ; + +mkN231 : Str -> N ; +mkN231 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ю" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN231" + } ; + +mkN232 : Str -> N ; +mkN232 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"лю" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN232" + } ; + +mkN233 : Str -> N ; +mkN233 base = + case base of { + base_1+"іць" => lin N + { s = table { + Nom => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"іць" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"оці" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"оці" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"оці" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"іццю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"оче" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN233" + } ; + +mkN234 : Str -> N ; +mkN234 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN234" + } ; + +mkN235 : Str -> N ; +mkN235 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN235" + } ; + +mkN236 : Str -> N ; +mkN236 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN236" + } ; + +mkN237 : Str -> N ; +mkN237 base = + case base of { + base_1+"хо" => lin N + { s = table { + Nom => table { + Sg => base_1+"хо" ; + Pl => base_1+"ха" + } ; + Acc => table { + Sg => base_1+"хо" ; + Pl => base_1+"ха" + } ; + Dat => table { + Sg => base_1+"хові" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хом" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"хо" ; + Pl => base_1+"ха" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN237" + } ; + +mkN238 : Str -> N ; +mkN238 base = + case base of { + base_1+"і"+base_2@("ст"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN238" + } ; + +mkN239 : Str -> N ; +mkN239 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN239" + } ; + +mkN240 : Str -> N ; +mkN240 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN240" + } ; + +mkN241 : Str -> N ; +mkN241 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ь" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN241" + } ; + +mkN242 : Str -> N ; +mkN242 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ок" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"ок" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN242" + } ; + +mkN243 : Str -> N ; +mkN243 base = + case base of { + base_1+"о"+base_2@?+"о"+base_3@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"о"+base_3 ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"о"+base_3 ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+base_3+"ові" ; + Pl => base_1+"і"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+base_3+"у" ; + Pl => base_1+"і"+base_2+base_3+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+base_3+"у" ; + Pl => base_1+"і"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+base_3+"ом" ; + Pl => base_1+"і"+base_2+base_3+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+base_3+"у" ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN243" + } ; + +mkN244 : Str -> N ; +mkN244 base = + case base of { + base_1+"тя" => lin N + { s = table { + Nom => table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + Acc => table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + Dat => table { + Sg => base_1+"тю" ; + Pl => base_1+"тям" + } ; + Gen => table { + Sg => base_1+"тя" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ті" ; + Pl => base_1+"тях" + } ; + Instr => table { + Sg => base_1+"тям" ; + Pl => base_1+"тями" + } + } ; + Voc = table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN244" + } ; + +mkN245 : Str -> N ; +mkN245 base = + case base of { + "о"+base_1+"ець" => lin N + { s = table { + Nom => table { + Sg => "о"+base_1+"ець" ; + Pl => "ві"+base_1+"ці" + } ; + Acc => table { + Sg => "ві"+base_1+"ця" ; + Pl => "ві"+base_1+"ців" + } ; + Dat => table { + Sg => "ві"+base_1+"цеві" ; + Pl => "ві"+base_1+"цям" + } ; + Gen => table { + Sg => "ві"+base_1+"ця" ; + Pl => "ві"+base_1+"ців" + } ; + Loc => table { + Sg => "ві"+base_1+"цеві" ; + Pl => "ві"+base_1+"цях" + } ; + Instr => table { + Sg => "ві"+base_1+"цем" ; + Pl => "ві"+base_1+"цями" + } + } ; + Voc = table { + Sg => "о"+base_1+"че" ; + Pl => "ві"+base_1+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN245" + } ; + +mkN246 : Str -> N ; +mkN246 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN246" + } ; + +mkN247 : Str -> N ; +mkN247 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"е"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+base_3+"ю" ; + Pl => base_1+"е"+base_2+base_3+"і" + } ; + Dat => table { + Sg => base_1+"і"+base_2+base_3+"і" ; + Pl => base_1+"е"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"і"+base_2+base_3+"і" ; + Pl => base_1+"е"+base_2+"е"+base_3+"ь" + } ; + Loc => table { + Sg => base_1+"і"+base_2+base_3+"і" ; + Pl => base_1+"е"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+base_3+"ею" ; + Pl => base_1+"е"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+"і"+base_2+base_3+"е" ; + Pl => base_1+"е"+base_2+base_3+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN247" + } ; + +mkN248 : Str -> N ; +mkN248 base = + case base of { + base_1+"о"+base_2@?+"е"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"ів" + } ; + Dat => table { + Sg => base_1+"і"+base_2+base_3+"еві" ; + Pl => base_1+"і"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"ів" + } ; + Loc => table { + Sg => base_1+"і"+base_2+base_3+"еві" ; + Pl => base_1+"і"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+base_3+"ем" ; + Pl => base_1+"і"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+"і"+base_2+base_3+"ю" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN248" + } ; + +mkN249 : Str -> N ; +mkN249 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN249" + } ; + +mkN250 : Str -> N ; +mkN250 base = + case base of { + base_1+base_2@?+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN250" + } ; + +mkN251 : Str -> N ; +mkN251 base = + case base of { + base_1+"ець" => lin N + { s = table { + Nom => table { + Sg => base_1+"ець" ; + Pl => base_1+"ці" + } ; + Acc => table { + Sg => base_1+"ця" ; + Pl => base_1+"ців" + } ; + Dat => table { + Sg => base_1+"цеві" ; + Pl => base_1+"цям" + } ; + Gen => table { + Sg => base_1+"ця" ; + Pl => base_1+"ців" + } ; + Loc => table { + Sg => base_1+"цеві" ; + Pl => base_1+"цях" + } ; + Instr => table { + Sg => base_1+"цем" ; + Pl => base_1+"цями" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN251" + } ; + +mkN252 : Str -> N ; +mkN252 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"лю" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN252" + } ; + +mkN253 : Str -> N ; +mkN253 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN253" + } ; + +mkN254 : Str -> N ; +mkN254 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"жю" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN254" + } ; + +mkN255 : Str -> N ; +mkN255 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ьо"+base_2+"ові" ; + Pl => base_1+"ьо"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ьо"+base_2+"у" ; + Pl => base_1+"ьо"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ьо"+base_2+"і" ; + Pl => base_1+"ьо"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ьо"+base_2+"ом" ; + Pl => base_1+"ьо"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ьо"+base_2+"е" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN255" + } ; + +mkN256 : Str -> N ; +mkN256 base = + case base of { + base_1+base_2@?+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN256" + } ; + +mkN257 : Str -> N ; +mkN257 base = + case base of { + base_1+"ік" => lin N + { s = table { + Nom => table { + Sg => base_1+"ік" ; + Pl => base_1+"оки" + } ; + Acc => table { + Sg => base_1+"ік" ; + Pl => base_1+"оки" + } ; + Dat => table { + Sg => base_1+"окові" ; + Pl => base_1+"окам" + } ; + Gen => table { + Sg => base_1+"оку" ; + Pl => base_1+"оків" + } ; + Loc => table { + Sg => base_1+"оці" ; + Pl => base_1+"оках" + } ; + Instr => table { + Sg => base_1+"оком" ; + Pl => base_1+"оками" + } + } ; + Voc = table { + Sg => base_1+"оку" ; + Pl => base_1+"оки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN257" + } ; + +mkN258 : Str -> N ; +mkN258 base = + case base of { + base_1+"тя" => lin N + { s = table { + Nom => table { + Sg => base_1+"тя" ; + Pl => base_1+"ті" + } ; + Acc => table { + Sg => base_1+"тю" ; + Pl => base_1+"ті" + } ; + Dat => table { + Sg => base_1+"ті" ; + Pl => base_1+"тям" + } ; + Gen => table { + Sg => base_1+"ті" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ті" ; + Pl => base_1+"тях" + } ; + Instr => table { + Sg => base_1+"тею" ; + Pl => base_1+"тями" + } + } ; + Voc = table { + Sg => base_1+"те" ; + Pl => base_1+"ті" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN258" + } ; + +mkN259 : Str -> N ; +mkN259 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"чю" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN259" + } ; + +mkN260 : Str -> N ; +mkN260 base = + case base of { + base_1+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + Acc => table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + Dat => table { + Sg => base_1+"ню" ; + Pl => base_1+"ням" + } ; + Gen => table { + Sg => base_1+"ня" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ню" ; + Pl => base_1+"нях" + } ; + Instr => table { + Sg => base_1+"ням" ; + Pl => base_1+"нями" + } + } ; + Voc = table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN260" + } ; + +mkN261 : Str -> N ; +mkN261 base = + case base of { + base_1+"тя" => lin N + { s = table { + Nom => table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + Acc => table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + Dat => table { + Sg => base_1+"тю" ; + Pl => base_1+"тям" + } ; + Gen => table { + Sg => base_1+"тя" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"тю" ; + Pl => base_1+"тях" + } ; + Instr => table { + Sg => base_1+"тям" ; + Pl => base_1+"тями" + } + } ; + Voc = table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN261" + } ; + +mkN262 : Str -> N ; +mkN262 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => "і"+base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => "і"+base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => "і"+base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => "і"+base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => "і"+base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => "і"+base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => "і"+base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN262" + } ; + +mkN263 : Str -> N ; +mkN263 base = + case base of { + base_1+"ля" => lin N + { s = table { + Nom => table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + Acc => table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + Dat => table { + Sg => base_1+"лю" ; + Pl => base_1+"лям" + } ; + Gen => table { + Sg => base_1+"ля" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"лі" ; + Pl => base_1+"лях" + } ; + Instr => table { + Sg => base_1+"лям" ; + Pl => base_1+"лями" + } + } ; + Voc = table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN263" + } ; + +mkN264 : Str -> N ; +mkN264 base = + case base of { + base_1+"й"+base_2@?+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"й"+base_2+"а" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"ї"+base_2 + } ; + Dat => table { + Sg => base_1+"й"+base_2+"ові" ; + Pl => base_1+"й"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"а" ; + Pl => base_1+"ї"+base_2 + } ; + Loc => table { + Sg => base_1+"й"+base_2+"ові" ; + Pl => base_1+"й"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ом" ; + Pl => base_1+"й"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"о" ; + Pl => base_1+"й"+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN264" + } ; + +mkN265 : Str -> N ; +mkN265 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN265" + } ; + +mkN266 : Str -> N ; +mkN266 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ові" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN266" + } ; + +mkN267 : Str -> N ; +mkN267 base = + case base of { + base_1+"те"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"те"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"те"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN267" + } ; + +mkN268 : Str -> N ; +mkN268 base = + case base of { + base_1+"ьце" => lin N + { s = table { + Nom => table { + Sg => base_1+"ьце" ; + Pl => base_1+"ьца" + } ; + Acc => table { + Sg => base_1+"ьце" ; + Pl => base_1+"ьца" + } ; + Dat => table { + Sg => base_1+"ьцю" ; + Pl => base_1+"ьцям" + } ; + Gen => table { + Sg => base_1+"ьця" ; + Pl => base_1+"ец" + } ; + Loc => table { + Sg => base_1+"ьцю" ; + Pl => base_1+"ьцях" + } ; + Instr => table { + Sg => base_1+"ьцем" ; + Pl => base_1+"ьцями" + } + } ; + Voc = table { + Sg => base_1+"ьче" ; + Pl => base_1+"ьца" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN268" + } ; + +mkN269 : Str -> N ; +mkN269 base = + case base of { + base_1+"ьо" => lin N + { s = table { + Nom => table { + Sg => base_1+"ьо" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN269" + } ; + +mkN270 : Str -> N ; +mkN270 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ею" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN270" + } ; + +mkN271 : Str -> N ; +mkN271 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ьо"+base_2+"ові" ; + Pl => base_1+"ьо"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ьо"+base_2+"у" ; + Pl => base_1+"ьо"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ьо"+base_2+"у" ; + Pl => base_1+"ьо"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ьо"+base_2+"ом" ; + Pl => base_1+"ьо"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ьо"+base_2+"е" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN271" + } ; + +mkN272 : Str -> N ; +mkN272 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN272" + } ; + +mkN273 : Str -> N ; +mkN273 base = + case base of { + base_1+"іг" => lin N + { s = table { + Nom => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Acc => table { + Sg => base_1+"ога" ; + Pl => base_1+"оги" + } ; + Dat => table { + Sg => base_1+"огові" ; + Pl => base_1+"огам" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"огів" + } ; + Loc => table { + Sg => base_1+"огові" ; + Pl => base_1+"огах" + } ; + Instr => table { + Sg => base_1+"огом" ; + Pl => base_1+"огами" + } + } ; + Voc = table { + Sg => base_1+"оже" ; + Pl => base_1+"оги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN273" + } ; + +mkN274 : Str -> N ; +mkN274 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN274" + } ; + +mkN275 : Str -> N ; +mkN275 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ьо"+base_2+"ові" ; + Pl => base_1+"ьо"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ьо"+base_2+"а" ; + Pl => base_1+"ьо"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ьо"+base_2+"і" ; + Pl => base_1+"ьо"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ьо"+base_2+"ом" ; + Pl => base_1+"ьо"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ьо"+base_2+"е" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN275" + } ; + +mkN276 : Str -> N ; +mkN276 base = + case base of { + base_1+"ин" => lin N + { s = table { + Nom => table { + Sg => base_1+"ин" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"ин" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"инові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ина" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ині" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ином" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"ине" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN276" + } ; + +mkN277 : Str -> N ; +mkN277 base = + case base of { + base_1+"ий" => lin N + { s = table { + Nom => table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ого" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"ому" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"ого" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"ому" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"им" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"ий" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN277" + } ; + +mkN278 : Str -> N ; +mkN278 base = + case base of { + base_1+"ок" => lin N + { s = table { + Nom => table { + Sg => base_1+"ок" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"кові" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN278" + } ; + +mkN279 : Str -> N ; +mkN279 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN279" + } ; + +mkN280 : Str -> N ; +mkN280 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"ї" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ї" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN280" + } ; + +mkN281 : Str -> N ; +mkN281 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"их" + } ; + Dat => table { + Sg => base_1+"ій" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"ої" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"ій" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"а" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN281" + } ; + +mkN282 : Str -> N ; +mkN282 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN282" + } ; + +mkN283 : Str -> N ; +mkN283 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN283" + } ; + +mkN284 : Str -> N ; +mkN284 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ми" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN284" + } ; + +mkN285 : Str -> N ; +mkN285 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN285" + } ; + +mkN286 : Str -> N ; +mkN286 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"има" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN286" + } ; + +mkN287 : Str -> N ; +mkN287 base = + case base of { + base_1+"що" => lin N + { s = table { + Nom => table { + Sg => base_1+"що" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"що" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"чому" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"чого" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+" на чому" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+" з чим" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN287" + } ; + +mkN288 : Str -> N ; +mkN288 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"й" + } ; + Dat => table { + Sg => base_1+"ї" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ї" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"ї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN288" + } ; + +mkN289 : Str -> N ; +mkN289 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"и" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ою" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN289" + } ; + +mkN290 : Str -> N ; +mkN290 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"сю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN290" + } ; + +mkN291 : Str -> N ; +mkN291 base = + case base of { + base_1+"шка" => lin N + { s = table { + Nom => table { + Sg => base_1+"шка" ; + Pl => base_1+"шки" + } ; + Acc => table { + Sg => base_1+"шку" ; + Pl => base_1+"шки" + } ; + Dat => table { + Sg => base_1+"шці" ; + Pl => base_1+"шкам" + } ; + Gen => table { + Sg => base_1+"шки" ; + Pl => base_1+"щок" + } ; + Loc => table { + Sg => base_1+"шці" ; + Pl => base_1+"шках" + } ; + Instr => table { + Sg => base_1+"шкою" ; + Pl => base_1+"шками" + } + } ; + Voc = table { + Sg => base_1+"шко" ; + Pl => base_1+"шки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN291" + } ; + +mkN292 : Str -> N ; +mkN292 base = + case base of { + base_1+"ока" => lin N + { s = table { + Nom => table { + Sg => base_1+"ока" ; + Pl => base_1+"оки" + } ; + Acc => table { + Sg => base_1+"оку" ; + Pl => base_1+"оки" + } ; + Dat => table { + Sg => base_1+"оці" ; + Pl => base_1+"окам" + } ; + Gen => table { + Sg => base_1+"оки" ; + Pl => base_1+"ік" + } ; + Loc => table { + Sg => base_1+"оці" ; + Pl => base_1+"оках" + } ; + Instr => table { + Sg => base_1+"окою" ; + Pl => base_1+"оками" + } + } ; + Voc = table { + Sg => base_1+"око" ; + Pl => base_1+"оки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN292" + } ; + +mkN293 : Str -> N ; +mkN293 base = + case base of { + base_1+base_2@?+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + Acc => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN293" + } ; + +mkN294 : Str -> N ; +mkN294 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN294" + } ; + +mkN295 : Str -> N ; +mkN295 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => nonExist + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN295" + } ; + +mkN296 : Str -> N ; +mkN296 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN296" + } ; + +mkN297 : Str -> N ; +mkN297 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN297" + } ; + +mkN298 : Str -> N ; +mkN298 base = + case base of { + base_1+"ом" => lin N + { s = table { + Nom => table { + Sg => base_1+"ом" ; + Pl => nonExist + } ; + Acc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN298" + } ; + +mkN299 : Str -> N ; +mkN299 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" --guessed + } ; + Acc => table { + Sg => base_1 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" --guessed + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN299" + } ; + +mkN300 : Str -> N ; +mkN300 base = + case base of { + base_1+"і"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN300" + } ; + +mkN301 : Str -> N ; +mkN301 base = + case base of { + base_1+"і"+base_2@(?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN301" + } ; + +mkN302 : Str -> N ; +mkN302 base = + case base of { + base_1+"о"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN302" + } ; + +mkN303 : Str -> N ; +mkN303 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN303" + } ; + +mkN304 : Str -> N ; +mkN304 base = + case base of { + "ві"+base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => "ві"+base_1+"ь" ; + Pl => "о"+base_1+"і" + } ; + Acc => table { + Sg => "ві"+base_1+"ь" ; + Pl => "о"+base_1+"і" + } ; + Dat => table { + Sg => "о"+base_1+"і" ; + Pl => "о"+base_1+"ям" + } ; + Gen => table { + Sg => "о"+base_1+"і" ; + Pl => "о"+base_1+"ей" + } ; + Loc => table { + Sg => "о"+base_1+"і" ; + Pl => "о"+base_1+"ях" + } ; + Instr => table { + Sg => "ві"+base_1+"сю" ; + Pl => "о"+base_1+"ями" + } + } ; + Voc = table { + Sg => "о"+base_1+"е" ; + Pl => "о"+base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN304" + } ; + +mkN305 : Str -> N ; +mkN305 base = + case base of { + base_1+base_2@?+"це" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"це" ; + Pl => base_1+base_2+"ця" + } ; + Acc => table { + Sg => base_1+base_2+"це" ; + Pl => base_1+base_2+"ця" + } ; + Dat => table { + Sg => base_1+base_2+"цю" ; + Pl => base_1+base_2+"цям" + } ; + Gen => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+"ец"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"цю" ; + Pl => base_1+base_2+"цях" + } ; + Instr => table { + Sg => base_1+base_2+"цем" ; + Pl => base_1+base_2+"цями" + } + } ; + Voc = table { + Sg => base_1+base_2+"че" ; + Pl => base_1+base_2+"ця" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN305" + } ; + +mkN306 : Str -> N ; +mkN306 base = + case base of { + base_1+"'я" => lin N + { s = table { + Nom => table { + Sg => base_1+"'я" ; + Pl => base_1+"'я" + } ; + Acc => table { + Sg => base_1+"'я" ; + Pl => base_1+"'я" + } ; + Dat => table { + Sg => base_1+"'ю" ; + Pl => base_1+"'ям" + } ; + Gen => table { + Sg => base_1+"ені" ; + Pl => base_1+"'їв" + } ; + Loc => table { + Sg => base_1+"'ї" ; + Pl => base_1+"'ях" + } ; + Instr => table { + Sg => base_1+"'ям" ; + Pl => base_1+"'ями" + } + } ; + Voc = table { + Sg => base_1+"'я" ; + Pl => base_1+"'я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN306" + } ; + +mkN307 : Str -> N ; +mkN307 base = + case base of { + base_1+"ьо"+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"ьо"+base_2+"а" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"ьо"+base_2+"у" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ьо"+base_2+"і" ; + Pl => base_1+"ьо"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ьо"+base_2+"и" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"ьо"+base_2+"і" ; + Pl => base_1+"ьо"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ьо"+base_2+"ою" ; + Pl => base_1+"ьо"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ьо"+base_2+"о" ; + Pl => base_1+"ьо"+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN307" + } ; + +mkN308 : Str -> N ; +mkN308 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN308" + } ; + +mkN309 : Str -> N ; +mkN309 base = + case base of { + base_1+"р"+base_2@?+"ець" => lin N + { s = table { + Nom => table { + Sg => base_1+"р"+base_2+"ець" ; + Pl => base_1+base_2+"ці" + } ; + Acc => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ців" + } ; + Dat => table { + Sg => base_1+base_2+"цеві" ; + Pl => base_1+base_2+"цям" + } ; + Gen => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ців" + } ; + Loc => table { + Sg => base_1+base_2+"цеві" ; + Pl => base_1+base_2+"цях" + } ; + Instr => table { + Sg => base_1+base_2+"цем" ; + Pl => base_1+base_2+"цями" + } + } ; + Voc = table { + Sg => base_1+base_2+"че" ; + Pl => base_1+base_2+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN309" + } ; + +mkN310 : Str -> N ; +mkN310 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"ові" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"і"+base_2 + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ом" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN310" + } ; + +mkN311 : Str -> N ; +mkN311 base = + case base of { + base_1+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+"и" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN311" + } ; + +mkN312 : Str -> N ; +mkN312 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN312" + } ; + +mkN313 : Str -> N ; +mkN313 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN313" + } ; + +mkN314 : Str -> N ; +mkN314 base = + case base of { + base_1+"оє"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"оє"+base_2+"ь" ; + Pl => base_1+"ій"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ій"+base_2+"я" ; + Pl => base_1+"ій"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"ій"+base_2+"еві" ; + Pl => base_1+"ій"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"ій"+base_2+"я" ; + Pl => base_1+"ій"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ій"+base_2+"еві" ; + Pl => base_1+"ій"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ій"+base_2+"ем" ; + Pl => base_1+"ій"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"ій"+base_2+"ю" ; + Pl => base_1+"ій"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN314" + } ; + +mkN315 : Str -> N ; +mkN315 base = + case base of { + base_1+"ец"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ец"+base_2 ; + Pl => base_1+base_2+"ці" + } ; + Acc => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ців" + } ; + Dat => table { + Sg => base_1+base_2+"цеві" ; + Pl => base_1+base_2+"цям" + } ; + Gen => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ців" + } ; + Loc => table { + Sg => base_1+base_2+"цеві" ; + Pl => base_1+base_2+"цях" + } ; + Instr => table { + Sg => base_1+base_2+"цем" ; + Pl => base_1+base_2+"цями" + } + } ; + Voc = table { + Sg => base_1+base_2+"цю" ; + Pl => base_1+base_2+"ці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN315" + } ; + +mkN316 : Str -> N ; +mkN316 base = + case base of { + base_1+"е"+base_2@?+"е"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + Dat => table { + Sg => base_1+"і"+base_2+base_3+"еві" ; + Pl => base_1+"і"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"ів" + } ; + Loc => table { + Sg => base_1+"і"+base_2+base_3+"ю" ; + Pl => base_1+"і"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+base_3+"ем" ; + Pl => base_1+"і"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+"і"+base_2+base_3+"ю" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN316" + } ; + +mkN317 : Str -> N ; +mkN317 base = + case base of { + base_1+"к" => lin N + { s = table { + Nom => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"к" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ку" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN317" + } ; + +mkN318 : Str -> N ; +mkN318 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN318" + } ; + +mkN319 : Str -> N ; +mkN319 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ю" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN319" + } ; + +mkN320 : Str -> N ; +mkN320 base = + case base of { + base_1+"в"+base_2@?+"ць" => lin N + { s = table { + Nom => table { + Sg => base_1+"в"+base_2+"ць" ; + Pl => base_1+base_2+"вці" + } ; + Acc => table { + Sg => base_1+base_2+"вця" ; + Pl => base_1+base_2+"вців" + } ; + Dat => table { + Sg => base_1+base_2+"вцеві" ; + Pl => base_1+base_2+"вцям" + } ; + Gen => table { + Sg => base_1+base_2+"вця" ; + Pl => base_1+base_2+"вців" + } ; + Loc => table { + Sg => base_1+base_2+"вцеві" ; + Pl => base_1+base_2+"вцях" + } ; + Instr => table { + Sg => base_1+base_2+"вцем" ; + Pl => base_1+base_2+"вцями" + } + } ; + Voc = table { + Sg => base_1+base_2+"вче" ; + Pl => base_1+base_2+"вці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN320" + } ; + +mkN321 : Str -> N ; +mkN321 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN321" + } ; + +mkN322 : Str -> N ; +mkN322 base = + case base of { + base_1+"і"+base_2@("вш"|?) => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"у" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN322" + } ; + +mkN323 : Str -> N ; +mkN323 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"а" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN323" + } ; + +mkN324 : Str -> N ; +mkN324 base = + case base of { + base_1+"н"+base_2@?+"ць" => lin N + { s = table { + Nom => table { + Sg => base_1+"н"+base_2+"ць" ; + Pl => base_1+base_2+"нці" + } ; + Acc => table { + Sg => base_1+base_2+"нця" ; + Pl => base_1+base_2+"нців" + } ; + Dat => table { + Sg => base_1+base_2+"нцеві" ; + Pl => base_1+base_2+"нцям" + } ; + Gen => table { + Sg => base_1+base_2+"нця" ; + Pl => base_1+base_2+"нців" + } ; + Loc => table { + Sg => base_1+base_2+"нцеві" ; + Pl => base_1+base_2+"нцях" + } ; + Instr => table { + Sg => base_1+base_2+"нцем" ; + Pl => base_1+base_2+"нцями" + } + } ; + Voc = table { + Sg => base_1+base_2+"нче" ; + Pl => base_1+base_2+"нці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN324" + } ; + +mkN325 : Str -> N ; +mkN325 base = + case base of { + base_1+"їн" => lin N + { s = table { + Nom => table { + Sg => base_1+"їн" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"їна" ; + Pl => base_1+"їв" + } ; + Dat => table { + Sg => base_1+"їнові" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"їна" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"їнові" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"їном" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"їне" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN325" + } ; + +mkN326 : Str -> N ; +mkN326 base = + case base of { + base_1+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+"а" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1 + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN326" + } ; + +mkN327 : Str -> N ; +mkN327 base = + case base of { + base_1+"є" => lin N + { s = table { + Nom => table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN327" + } ; + +mkN328 : Str -> N ; +mkN328 base = + case base of { + base_1+"ьо" => lin N + { s = table { + Nom => table { + Sg => base_1+"ьо" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ьо" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN328" + } ; + +mkN329 : Str -> N ; +mkN329 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN329" + } ; + +mkN330 : Str -> N ; +mkN330 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => base_1+"їй" ; + Pl => base_1+"їм" + } ; + Gen => table { + Sg => base_1+"єї" ; + Pl => base_1+"їх" + } ; + Loc => table { + Sg => base_1+"їй" ; + Pl => base_1+"їх" + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => base_1+"їми" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN330" + } ; + +mkN331 : Str -> N ; +mkN331 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"шю" ; + Pl => base_1+"о"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN331" + } ; + +mkN332 : Str -> N ; +mkN332 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN332" + } ; + +mkN333 : Str -> N ; +mkN333 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN333" + } ; + +mkN334 : Str -> N ; +mkN334 base = + case base of { + base_1+"ля" => lin N + { s = table { + Nom => table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + Acc => table { + Sg => base_1+"ля" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"лю" ; + Pl => base_1+"лям" + } ; + Gen => table { + Sg => base_1+"ля" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"лі" ; + Pl => base_1+"лях" + } ; + Instr => table { + Sg => base_1+"лям" ; + Pl => base_1+"лями" + } + } ; + Voc = table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN334" + } ; + +mkN335 : Str -> N ; +mkN335 base = + case base of { + "по"+base_1+"ля" => lin N + { s = table { + Nom => table { + Sg => "по"+base_1+"ля" ; + Pl => "по"+base_1+"ля" + } ; + Acc => table { + Sg => "по"+base_1+"ля" ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => "по"+base_1+"лю" ; + Pl => "по"+base_1+"лям" + } ; + Gen => table { + Sg => "по"+base_1+"ля" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => "по"+base_1+"лі" ; + Pl => "по"+base_1+"лях" + } ; + Instr => table { + Sg => "по"+base_1+"лям" ; + Pl => "по"+base_1+"лями" + } + } ; + Voc = table { + Sg => "по"+base_1+"ля" ; + Pl => "по"+base_1+"ля" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN335" + } ; + +mkN336 : Str -> N ; +mkN336 base = + case base of { + base_1+"дя" => lin N + { s = table { + Nom => table { + Sg => base_1+"дя" ; + Pl => base_1+"ді" + } ; + Acc => table { + Sg => base_1+"дю" ; + Pl => base_1+"ді" + } ; + Dat => table { + Sg => base_1+"ді" ; + Pl => base_1+"дям" + } ; + Gen => table { + Sg => base_1+"ді" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ді" ; + Pl => base_1+"дях" + } ; + Instr => table { + Sg => base_1+"дею" ; + Pl => base_1+"дями" + } + } ; + Voc = table { + Sg => base_1+"де" ; + Pl => base_1+"ді" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN336" + } ; + +mkN337 : Str -> N ; +mkN337 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN337" + } ; + +mkN338 : Str -> N ; +mkN338 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN338" + } ; + +mkN339 : Str -> N ; +mkN339 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN339" + } ; + +mkN340 : Str -> N ; +mkN340 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN340" + } ; + +mkN341 : Str -> N ; +mkN341 base = + case base of { + base_1+"ї" => lin N + { s = table { + Nom => table { + Sg => base_1+"ї" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"й" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"ї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN341" + } ; + +mkN342 : Str -> N ; +mkN342 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN342" + } ; + +mkN343 : Str -> N ; +mkN343 base = + case base of { + base_1+base_2@?+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN343" + } ; + +mkN344 : Str -> N ; +mkN344 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ей" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN344" + } ; + +mkN345 : Str -> N ; +mkN345 base = + case base of { + base_1+base_2@?+"и" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2 + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN345" + } ; + +mkN346 : Str -> N ; +mkN346 base = + case base of { + base_1+"і"+base_2@?+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ка" ; + Pl => base_1+"і"+base_2+"ки" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ку" ; + Pl => base_1+"і"+base_2+"ки" + } ; + Dat => table { + Sg => base_1+"і"+base_2+"ці" ; + Pl => base_1+"і"+base_2+"кам" + } ; + Gen => table { + Sg => base_1+"і"+base_2+"ки" ; + Pl => base_1+"о"+base_2+"ок" + } ; + Loc => table { + Sg => base_1+"і"+base_2+"ці" ; + Pl => base_1+"і"+base_2+"ках" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"кою" ; + Pl => base_1+"і"+base_2+"ками" + } + } ; + Voc = table { + Sg => base_1+"і"+base_2+"ко" ; + Pl => base_1+"і"+base_2+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN346" + } ; + +mkN347 : Str -> N ; +mkN347 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"я" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і"+base_2+base_3+"я" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"і"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"о"+base_2+"е"+base_3+"ь" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"і"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"і"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і"+base_2+base_3+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN347" + } ; + +mkN348 : Str -> N ; +mkN348 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"я" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"я" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"ь" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN348" + } ; + +mkN349 : Str -> N ; +mkN349 base = + case base of { + base_1+"ья" => lin N + { s = table { + Nom => table { + Sg => base_1+"ья" ; + Pl => base_1+"ьї" + } ; + Acc => table { + Sg => base_1+"ью" ; + Pl => base_1+"ьї" + } ; + Dat => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ьям" + } ; + Gen => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ій" + } ; + Loc => table { + Sg => base_1+"ьї" ; + Pl => base_1+"ьях" + } ; + Instr => table { + Sg => base_1+"ьєю" ; + Pl => base_1+"ьями" + } + } ; + Voc = table { + Sg => base_1+"ьє" ; + Pl => base_1+"ьї" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN349" + } ; + +mkN350 : Str -> N ; +mkN350 base = + case base of { + base_1+"ї" => lin N + { s = table { + Nom => table { + Sg => base_1+"ї" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ї" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"й" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN350" + } ; + +mkN351 : Str -> N ; +mkN351 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"дю" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN351" + } ; + +mkN352 : Str -> N ; +mkN352 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"им" ; + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"их" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"их" ; + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"ими" ; + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN352" + } ; + +mkN353 : Str -> N ; +mkN353 base = + case base of { + base_1+"о"+base_2@?+"е"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2+"е"+base_3+"ь" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + Dat => table { + Sg => base_1+"і"+base_2+base_3+"еві" ; + Pl => base_1+"і"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"і"+base_2+base_3+"я" ; + Pl => base_1+"і"+base_2+base_3+"ів" + } ; + Loc => table { + Sg => base_1+"і"+base_2+base_3+"еві" ; + Pl => base_1+"і"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+base_3+"ем" ; + Pl => base_1+"і"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+"і"+base_2+base_3+"ю" ; + Pl => base_1+"і"+base_2+base_3+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN353" + } ; + +mkN354 : Str -> N ; +mkN354 base = + case base of { + base_1+"ї"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ї"+base_2+"ь" ; + Pl => base_1+"йо"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ї"+base_2+"ь" ; + Pl => base_1+"йо"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"йо"+base_2+"і" ; + Pl => base_1+"йо"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"йо"+base_2+"і" ; + Pl => base_1+"йо"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"йо"+base_2+"і" ; + Pl => base_1+"йо"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ї"+base_2+"ю" ; + Pl => base_1+"йо"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"йо"+base_2+"е" ; + Pl => base_1+"йо"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN354" + } ; + +mkN355 : Str -> N ; +mkN355 base = + case base of { + base_1+base_2@?+base_3@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+base_3+"а" ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + Acc => table { + Sg => base_1+base_2+base_3+"у" ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + Dat => table { + Sg => base_1+base_2+base_3+"і" ; + Pl => base_1+"і"+base_2+base_3+"ам" + } ; + Gen => table { + Sg => base_1+base_2+base_3+"и" ; + Pl => base_1+"і"+base_2+"о"+base_3 + } ; + Loc => table { + Sg => base_1+base_2+base_3+"і" ; + Pl => base_1+"і"+base_2+base_3+"ах" + } ; + Instr => table { + Sg => base_1+base_2+base_3+"ою" ; + Pl => base_1+"і"+base_2+base_3+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+base_3+"о" ; + Pl => base_1+"і"+base_2+base_3+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN355" + } ; + +mkN356 : Str -> N ; +mkN356 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"а" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"а" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN356" + } ; + +mkN357 : Str -> N ; +mkN357 base = + case base of { + base_1+"й"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"і" ; + Pl => base_1+"й"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"і" ; + Pl => base_1+"є"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"і" ; + Pl => base_1+"й"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ею" ; + Pl => base_1+"й"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"е" ; + Pl => base_1+"й"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN357" + } ; + +mkN358 : Str -> N ; +mkN358 base = + case base of { + base_1+"ґа" => lin N + { s = table { + Nom => table { + Sg => base_1+"ґа" ; + Pl => base_1+"ґи" + } ; + Acc => table { + Sg => base_1+"ґу" ; + Pl => base_1+"ґи" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"ґам" + } ; + Gen => table { + Sg => base_1+"ґи" ; + Pl => base_1+"ґ" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"ґах" + } ; + Instr => table { + Sg => base_1+"ґою" ; + Pl => base_1+"ґами" + } + } ; + Voc = table { + Sg => base_1+"ґо" ; + Pl => base_1+"ґи" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN358" + } ; + +mkN359 : Str -> N ; +mkN359 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN359" + } ; + +mkN360 : Str -> N ; +mkN360 base = + case base of { + base_1+"ся" => lin N + { s = table { + Nom => table { + Sg => base_1+"ся" ; + Pl => base_1+"ся" + } ; + Acc => table { + Sg => base_1+"ся" ; + Pl => base_1+"ся" + } ; + Dat => table { + Sg => base_1+"сю" ; + Pl => base_1+"сям" + } ; + Gen => table { + Sg => base_1+"ся" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"сях" + } ; + Instr => table { + Sg => base_1+"сям" ; + Pl => base_1+"сями" + } + } ; + Voc = table { + Sg => base_1+"ся" ; + Pl => base_1+"ся" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN360" + } ; + +mkN361 : Str -> N ; +mkN361 base = + case base of { + base_1+"зя" => lin N + { s = table { + Nom => table { + Sg => base_1+"зя" ; + Pl => base_1+"зя" + } ; + Acc => table { + Sg => base_1+"зя" ; + Pl => base_1+"зя" + } ; + Dat => table { + Sg => base_1+"зю" ; + Pl => base_1+"зям" + } ; + Gen => table { + Sg => base_1+"зя" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"зях" + } ; + Instr => table { + Sg => base_1+"зям" ; + Pl => base_1+"зями" + } + } ; + Voc = table { + Sg => base_1+"зя" ; + Pl => base_1+"зя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN361" + } ; + +mkN362 : Str -> N ; +mkN362 base = + case base of { + base_1+"дя" => lin N + { s = table { + Nom => table { + Sg => base_1+"дя" ; + Pl => base_1+"дя" + } ; + Acc => table { + Sg => base_1+"дя" ; + Pl => base_1+"дя" + } ; + Dat => table { + Sg => base_1+"дю" ; + Pl => base_1+"дям" + } ; + Gen => table { + Sg => base_1+"дя" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ді" ; + Pl => base_1+"дях" + } ; + Instr => table { + Sg => base_1+"дям" ; + Pl => base_1+"дями" + } + } ; + Voc = table { + Sg => base_1+"дя" ; + Pl => base_1+"дя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN362" + } ; + +mkN363 : Str -> N ; +mkN363 base = + case base of { + base_1+"жя" => lin N + { s = table { + Nom => table { + Sg => base_1+"жя" ; + Pl => base_1+"жя" + } ; + Acc => table { + Sg => base_1+"жя" ; + Pl => base_1+"жя" + } ; + Dat => table { + Sg => base_1+"жю" ; + Pl => base_1+"жям" + } ; + Gen => table { + Sg => base_1+"жя" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"жі" ; + Pl => base_1+"жях" + } ; + Instr => table { + Sg => base_1+"жям" ; + Pl => base_1+"жями" + } + } ; + Voc = table { + Sg => base_1+"жя" ; + Pl => base_1+"жя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN363" + } ; + +mkN364 : Str -> N ; +mkN364 base = + case base of { + base_1+base_2@?+"е"+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"е"+base_3+"ь" ; + Pl => base_1+"о"+base_2+base_3+"і" + } ; + Acc => table { + Sg => base_1+base_2+"е"+base_3+"ь" ; + Pl => base_1+"о"+base_2+base_3+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+base_3+"еві" ; + Pl => base_1+"о"+base_2+base_3+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+base_3+"я" ; + Pl => base_1+"о"+base_2+base_3+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+base_3+"ю" ; + Pl => base_1+"о"+base_2+base_3+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+base_3+"ем" ; + Pl => base_1+"о"+base_2+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+base_3+"ю" ; + Pl => base_1+"о"+base_2+base_3+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN364" + } ; + +mkN365 : Str -> N ; +mkN365 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN365" + } ; + +mkN366 : Str -> N ; +mkN366 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN366" + } ; + +mkN367 : Str -> N ; +mkN367 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN367" + } ; + +mkN368 : Str -> N ; +mkN368 base = + case base of { + base_1+"шя" => lin N + { s = table { + Nom => table { + Sg => base_1+"шя" ; + Pl => base_1+"шя" + } ; + Acc => table { + Sg => base_1+"шя" ; + Pl => base_1+"шя" + } ; + Dat => table { + Sg => base_1+"шю" ; + Pl => base_1+"шям" + } ; + Gen => table { + Sg => base_1+"шя" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"шю" ; + Pl => base_1+"шях" + } ; + Instr => table { + Sg => base_1+"шям" ; + Pl => base_1+"шями" + } + } ; + Voc = table { + Sg => base_1+"шя" ; + Pl => base_1+"шя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN368" + } ; + +mkN369 : Str -> N ; +mkN369 base = + case base of { + base_1+"ій" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ій" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ою" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ою" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ої" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"оєм" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ою" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN369" + } ; + +mkN370 : Str -> N ; +mkN370 base = + case base of { + base_1+"'я" => lin N + { s = table { + Nom => table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + Acc => table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + Dat => table { + Sg => base_1+"'ю" ; + Pl => base_1+"енам" + } ; + Gen => table { + Sg => base_1+"'я" ; + Pl => base_1+"ен" + } ; + Loc => table { + Sg => base_1+"'ю" ; + Pl => base_1+"енах" + } ; + Instr => table { + Sg => base_1+"'ям" ; + Pl => base_1+"енами" + } + } ; + Voc = table { + Sg => base_1+"'я" ; + Pl => base_1+"ена" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN370" + } ; + +mkN371 : Str -> N ; +mkN371 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN371" + } ; + +mkN372 : Str -> N ; +mkN372 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN372" + } ; + +mkN373 : Str -> N ; +mkN373 base = + case base of { + base_1+"ец"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ец"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ец"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+base_2+"цеві" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+base_2+"цю" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+base_2+"цю" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+base_2+"цем" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+base_2+"цю" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN373" + } ; + +mkN374 : Str -> N ; +mkN374 base = + case base of { + base_1+"іг" => lin N + { s = table { + Nom => table { + Sg => base_1+"іг" ; + Pl => base_1+"оги" + } ; + Acc => table { + Sg => base_1+"ога" ; + Pl => base_1+"огів" + } ; + Dat => table { + Sg => base_1+"огові" ; + Pl => base_1+"огам" + } ; + Gen => table { + Sg => base_1+"ога" ; + Pl => base_1+"огів" + } ; + Loc => table { + Sg => base_1+"огові" ; + Pl => base_1+"огах" + } ; + Instr => table { + Sg => base_1+"огом" ; + Pl => base_1+"огами" + } + } ; + Voc = table { + Sg => base_1+"оже" ; + Pl => base_1+"оги" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN374" + } ; + +mkN375 : Str -> N ; +mkN375 base = + case base of { + base_1+"га" => lin N + { s = table { + Nom => table { + Sg => base_1+"га" ; + Pl => base_1+"ги" + } ; + Acc => table { + Sg => base_1+"гу" ; + Pl => base_1+"ги" + } ; + Dat => table { + Sg => base_1+"зі" ; + Pl => base_1+"гам" + } ; + Gen => table { + Sg => base_1+"ги" ; + Pl => base_1+"ог" + } ; + Loc => table { + Sg => base_1+"зі" ; + Pl => base_1+"гах" + } ; + Instr => table { + Sg => base_1+"гою" ; + Pl => base_1+"гами" + } + } ; + Voc = table { + Sg => base_1+"го" ; + Pl => base_1+"ги" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN375" + } ; + +mkN376 : Str -> N ; +mkN376 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ям" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN376" + } ; + +mkN377 : Str -> N ; +mkN377 base = + case base of { + base_1+"ля" => lin N + { s = table { + Nom => table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + Acc => table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + Dat => table { + Sg => base_1+"лю" ; + Pl => base_1+"лям" + } ; + Gen => table { + Sg => base_1+"ля" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"лю" ; + Pl => base_1+"лях" + } ; + Instr => table { + Sg => base_1+"лям" ; + Pl => base_1+"лями" + } + } ; + Voc = table { + Sg => base_1+"ля" ; + Pl => base_1+"ля" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN377" + } ; + +mkN378 : Str -> N ; +mkN378 base = + case base of { + base_1+"ь"+base_2@(?+?+?+?+?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь"+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ь"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"ем"+base_2+"ем" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ю"+base_2+"ю" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN378" + } ; + +mkN379 : Str -> N ; +mkN379 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"і"+base_2+"'ю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN379" + } ; + +mkN380 : Str -> N ; +mkN380 base = + case base of { + base_1+"тя" => lin N + { s = table { + Nom => table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + Acc => table { + Sg => base_1+"тя" ; + Pl => base_1+"ь" + } ; + Dat => table { + Sg => base_1+"тю" ; + Pl => base_1+"тям" + } ; + Gen => table { + Sg => base_1+"тя" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"ті" ; + Pl => base_1+"тях" + } ; + Instr => table { + Sg => base_1+"тям" ; + Pl => base_1+"тями" + } + } ; + Voc = table { + Sg => base_1+"тя" ; + Pl => base_1+"тя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN380" + } ; + +mkN381 : Str -> N ; +mkN381 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ові" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN381" + } ; + +mkN382 : Str -> N ; +mkN382 base = + case base of { + base_1+"і"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"і"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN382" + } ; + +mkN383 : Str -> N ; +mkN383 base = + case base of { + base_1+"о"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"о"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN383" + } ; + +mkN384 : Str -> N ; +mkN384 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"я" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"ю" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN384" + } ; + +mkN385 : Str -> N ; +mkN385 base = + case base of { + base_1+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ь" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"дю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN385" + } ; + +mkN386 : Str -> N ; +mkN386 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"у" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN386" + } ; + +mkN387 : Str -> N ; +mkN387 base = + case base of { + base_1+"и"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"и"+base_2 ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"и"+base_2 ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"и"+base_2+"ові" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"і"+base_2+"у" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"и"+base_2+"у" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"и"+base_2+"ом" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"и"+base_2+"е" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN387" + } ; + +mkN388 : Str -> N ; +mkN388 base = + case base of { + base_1+"у"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"у"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Dat => table { + Sg => nonExist ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ей" + } ; + Loc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Instr => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + Voc = table { + Sg => nonExist ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN388" + } ; + +mkN389 : Str -> N ; +mkN389 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" --guessed + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"і" --guessed + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ам" --guessed + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" --guessed + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ах" --guessed + } ; + Instr => table { + Sg => base_1+"і"+base_2+"чю" ; + Pl => base_1+"о"+base_2+"ами" --guessed + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => base_1+"о"+base_2+"і" --guessed + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN389" + } ; + +mkN390 : Str -> N ; +mkN390 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"еві" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ем" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"е"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN390" + } ; + +mkN391 : Str -> N ; +mkN391 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"й" + } ; + Dat => table { + Sg => base_1+"ї" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ї" ; + Pl => base_1+"й" + } ; + Loc => table { + Sg => base_1+"ї" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN391" + } ; + +mkN392 : Str -> N ; +mkN392 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+base_2+"і" + } ; + Dat => table { + Sg => base_1+base_2+"еві" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ем" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN392" + } ; + +mkN393 : Str -> N ; +mkN393 base = + case base of { + base_1+"р"+base_2@?+"ць" => lin N + { s = table { + Nom => table { + Sg => base_1+"р"+base_2+"ць" ; + Pl => base_1+base_2+"рці" + } ; + Acc => table { + Sg => base_1+base_2+"рця" ; + Pl => base_1+base_2+"рців" + } ; + Dat => table { + Sg => base_1+base_2+"рцеві" ; + Pl => base_1+base_2+"рцям" + } ; + Gen => table { + Sg => base_1+base_2+"рця" ; + Pl => base_1+base_2+"рців" + } ; + Loc => table { + Sg => base_1+base_2+"рцеві" ; + Pl => base_1+base_2+"рцях" + } ; + Instr => table { + Sg => base_1+base_2+"рцем" ; + Pl => base_1+base_2+"рцями" + } + } ; + Voc = table { + Sg => base_1+base_2+"рче" ; + Pl => base_1+base_2+"рці" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN393" + } ; + +mkN394 : Str -> N ; +mkN394 base = + case base of { + base_1+"ій"+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій"+base_2+"я" ; + Pl => base_1+"ій"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"ій"+base_2+"ю" ; + Pl => base_1+"ій"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"ій"+base_2+"і" ; + Pl => base_1+"ій"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"ій"+base_2+"і" ; + Pl => base_1+"оє"+base_2+"ь" + } ; + Loc => table { + Sg => base_1+"ій"+base_2+"і" ; + Pl => base_1+"ій"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"ій"+base_2+"ею" ; + Pl => base_1+"ій"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"ій"+base_2+"е" ; + Pl => base_1+"ій"+base_2+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN394" + } ; + +mkN395 : Str -> N ; +mkN395 base = + case base of { + base_1+"ок" => lin N + { s = table { + Nom => table { + Sg => base_1+"ок" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"кові" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ка" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"кові" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"ком" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"че" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN395" + } ; + +mkN396 : Str -> N ; +mkN396 base = + case base of { + base_1+"є"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"є"+base_2+"ь" ; + Pl => base_1+"й"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"є"+base_2+"ь" ; + Pl => base_1+"й"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"й"+base_2+"еві" ; + Pl => base_1+"й"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"й"+base_2+"я" ; + Pl => base_1+"й"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"й"+base_2+"ем" ; + Pl => base_1+"й"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"й"+base_2+"ю" ; + Pl => base_1+"й"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN396" + } ; + +mkN397 : Str -> N ; +mkN397 base = + case base of { + base_1+"ій" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ього" ; + Pl => base_1+"іх" + } ; + Dat => table { + Sg => base_1+"ьому" ; + Pl => base_1+"ім" + } ; + Gen => table { + Sg => base_1+"ього" ; + Pl => base_1+"іх" + } ; + Loc => table { + Sg => base_1+"ьому" ; + Pl => base_1+"іх" + } ; + Instr => table { + Sg => base_1+"ім" ; + Pl => base_1+"іми" + } + } ; + Voc = table { + Sg => base_1+"ій" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN397" + } ; + +mkN398 : Str -> N ; +mkN398 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+"о"+base_2 + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+"о"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN398" + } ; + +mkN399 : Str -> N ; +mkN399 base = + case base of { + base_1+"і"+base_2@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"і" + } ; + Dat => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ям" + } ; + Gen => table { + Sg => base_1+"о"+base_2+"я" ; + Pl => base_1+"о"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"о"+base_2+"еві" ; + Pl => base_1+"о"+base_2+"ях" + } ; + Instr => table { + Sg => base_1+"о"+base_2+"ем" ; + Pl => base_1+"о"+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"ю" ; + Pl => base_1+"о"+base_2+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN399" + } ; + +mkN400 : Str -> N ; +mkN400 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"і" ; --guessed + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"им" ; --guessed + Pl => base_1+"им" + } ; + Gen => table { + Sg => base_1+"их" ; + Pl => base_1+"их" + } ; + Loc => table { + Sg => base_1+"их" ; --guessed + Pl => base_1+"их" + } ; + Instr => table { + Sg => base_1+"ими" ; --guessed + Pl => base_1+"ими" + } + } ; + Voc = table { + Sg => base_1+"і" ; --guessed + Pl => base_1+"і" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN400" + } ; + +mkN401 : Str -> N ; +mkN401 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Dat => table { + Sg => base_1+"у" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN401" + } ; + +mkN402 : Str -> N ; +mkN402 base = + case base of { + base_1+"і"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => base_1+"о"+base_2+"і" + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; --guessed + Pl => base_1+"о"+base_2+"і" --guessed + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; --guessed + Pl => base_1+"о"+base_2+"ям" --guessed + } ; + Gen => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => base_1+"о"+base_2+"ей" --guessed + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; --guessed + Pl => base_1+"о"+base_2+"ях" --guessed + } ; + Instr => table { + Sg => base_1+"і"+base_2+"тю" ; --guessed + Pl => base_1+"о"+base_2+"ями" --guessed + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; --guessed + Pl => base_1+"о"+base_2+"і" --guessed + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN402" + } ; + +mkN403 : Str -> N ; +mkN403 base = + case base of { + base_1+"є" => lin N + { s = table { + Nom => table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => base_1+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN403" + } ; + +mkN404 : Str -> N ; +mkN404 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+base_2 ; + Pl => base_1+"и"+base_2 + } ; + Acc => table { + Sg => base_1+base_2 ; + Pl => base_1+"и"+base_2 + } ; + Dat => table { + Sg => base_1+"ові"+base_2 ; + Pl => base_1+"ам"+base_2 + } ; + Gen => table { + Sg => base_1+"а"+base_2 ; + Pl => base_1+"ів"+base_2 + } ; + Loc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"ах"+base_2 + } ; + Instr => table { + Sg => base_1+"ом"+base_2 ; + Pl => base_1+"ами"+base_2 + } + } ; + Voc = table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"и"+base_2 + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN404" + } ; + +mkN405 : Str -> N ; +mkN405 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN405" + } ; + +mkN406 : Str -> N ; +mkN406 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN406" + } ; + +mkN407 : Str -> N ; +mkN407 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+base_2 ; + Pl => base_1+"и"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"ів"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"ові"+base_2+"ові" ; + Pl => base_1+"ам"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"а"+base_2+"а" ; + Pl => base_1+"ів"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ові"+base_2+"ові" ; + Pl => base_1+"ах"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ом"+base_2+"ом" ; + Pl => base_1+"ами"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"у" ; + Pl => base_1+"и"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN407" + } ; + +mkN408 : Str -> N ; +mkN408 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN408" + } ; + +mkN409 : Str -> N ; +mkN409 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"у" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN409" + } ; + +mkN410 : Str -> N ; +mkN410 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ею" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"ю" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN410" + } ; + +mkN411 : Str -> N ; +mkN411 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => base_1+"я" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"я" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"ів" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"я" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN411" + } ; + +mkN412 : Str -> N ; +mkN412 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ові" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"ові" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN412" + } ; + +mkN413 : Str -> N ; +mkN413 base = + case base of { + base_1+"ама" => lin N + { s = table { + Nom => table { + Sg => base_1+"ама" ; + Pl => base_1+"ами" + } ; + Acc => table { + Sg => base_1+"аму" ; + Pl => base_1+"ам" + } ; + Dat => table { + Sg => base_1+"амі" ; + Pl => base_1+"амам" + } ; + Gen => table { + Sg => "ози"+base_1+"ини" ; + Pl => base_1+"ам" + } ; + Loc => table { + Sg => base_1+"амі" ; + Pl => base_1+"амах" + } ; + Instr => table { + Sg => base_1+"амою" ; + Pl => base_1+"амами" + } + } ; + Voc = table { + Sg => base_1+"амо" ; + Pl => base_1+"ами" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN413" + } ; + +mkN414 : Str -> N ; +mkN414 base = + case base of { + base_1+base_2@?+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"я" + } ; + Acc => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"я" + } ; + Dat => table { + Sg => base_1+base_2+"ю" ; + Pl => base_1+base_2+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"я" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"ям" ; + Pl => base_1+base_2+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"я" ; + Pl => base_1+base_2+"я" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN414" + } ; + +mkN415 : Str -> N ; +mkN415 base = + case base of { + base_1+base_2@?+"а" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+"е"+base_2 + } ; + Dat => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"и" ; + Pl => base_1+"е"+base_2 + } ; + Loc => table { + Sg => base_1+base_2+"і" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ою" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"о" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN415" + } ; + +mkN416 : Str -> N ; +mkN416 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ків" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"ків" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN416" + } ; + +mkN417 : Str -> N ; +mkN417 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"очки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"очки" ; + Pl => base_1+"очок" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN417" + } ; + +mkN418 : Str -> N ; +mkN418 base = + case base of { + base_1+"ха" => lin N + { s = table { + Nom => table { + Sg => base_1+"ха" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"ху" ; + Pl => base_1+"х" + } ; + Dat => table { + Sg => base_1+"сі" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"хи" ; + Pl => base_1+"х" + } ; + Loc => table { + Sg => base_1+"сі" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хою" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"хо" ; + Pl => base_1+"хи" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN418" + } ; + +mkN419 : Str -> N ; +mkN419 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"еві" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN419" + } ; + +mkN420 : Str -> N ; +mkN420 base = + case base of { + base_1+"і" => lin N + { s = table { + Nom => table { + Sg => base_1+"і" ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1 ; + Pl => base_1 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN420" + } ; + +mkN421 : Str -> N ; +mkN421 base = + case base of { + base_1+"і"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"е"+base_2+"ові" ; + Pl => base_1+"е"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"е"+base_2+"а" ; + Pl => base_1+"е"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"е"+base_2+"і" ; + Pl => base_1+"е"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"е"+base_2+"ом" ; + Pl => base_1+"е"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN421" + } ; + +mkN422 : Str -> N ; +mkN422 base = + case base of { + base_1+"чя" => lin N + { s = table { + Nom => table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + Acc => table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + Dat => table { + Sg => base_1+"чю" ; + Pl => base_1+"чям" + } ; + Gen => table { + Sg => base_1+"чя" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"чю" ; + Pl => base_1+"чях" + } ; + Instr => table { + Sg => base_1+"чям" ; + Pl => base_1+"чями" + } + } ; + Voc = table { + Sg => base_1+"чя" ; + Pl => base_1+"чя" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN422" + } ; + +mkN423 : Str -> N ; +mkN423 base = + case base of { + base_1+"е" => lin N + { s = table { + Nom => table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + Acc => table { + Sg => base_1+"е" ; + Pl => base_1 + } ; + Dat => table { + Sg => base_1+"еві" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1 + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ем" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"а" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN423" + } ; + +mkN424 : Str -> N ; +mkN424 base = + case base of { + base_1+"й" => lin N + { s = table { + Nom => table { + Sg => base_1+"й" ; + Pl => base_1+"ї" + } ; + Acc => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Dat => table { + Sg => base_1+"ю" ; + Pl => base_1+"ям" + } ; + Gen => table { + Sg => base_1+"я" ; + Pl => base_1+"їв" + } ; + Loc => table { + Sg => base_1+"ю" ; + Pl => base_1+"ях" + } ; + Instr => table { + Sg => base_1+"єм" ; + Pl => base_1+"ями" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"ї" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN424" + } ; + +mkN425 : Str -> N ; +mkN425 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"і" + } ; + Acc => table { + Sg => base_1 ; + Pl => base_1+"ей" + } ; + Dat => table { + Sg => base_1+"і" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"і" ; + Pl => base_1+"ей" + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"чю" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"і" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN425" + } ; + +mkN426 : Str -> N ; +mkN426 base = + case base of { + base_1+"ій" => lin N + { s = table { + Nom => table { + Sg => base_1+"ій" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ій" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ею" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ею" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ею" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"еєм" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ею" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN426" + } ; + +mkN427 : Str -> N ; +mkN427 base = + case base of { + base_1+"що"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"що"+base_2 ; + Pl => base_1+"ш"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"що"+base_2 ; + Pl => base_1+"ш"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ш"+base_2+"ові" ; + Pl => base_1+"ш"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ш"+base_2+"а" ; + Pl => base_1+"ш"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ш"+base_2+"ові" ; + Pl => base_1+"ш"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ш"+base_2+"ом" ; + Pl => base_1+"ш"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ш"+base_2+"у" ; + Pl => base_1+"ш"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN427" + } ; + +mkN428 : Str -> N ; +mkN428 base = + case base of { + base_1+"ка" => lin N + { s = table { + Nom => table { + Sg => base_1+"ка" ; + Pl => base_1+"ки" + } ; + Acc => table { + Sg => base_1+"ку" ; + Pl => base_1+"ки" + } ; + Dat => table { + Sg => base_1+"ці" ; + Pl => base_1+"кам" + } ; + Gen => table { + Sg => base_1+"ки" ; + Pl => base_1+"ок" + } ; + Loc => table { + Sg => base_1+"ці" ; + Pl => base_1+"ках" + } ; + Instr => table { + Sg => base_1+"кою" ; + Pl => base_1+"ками" + } + } ; + Voc = table { + Sg => base_1+"ко" ; + Pl => base_1+"ки" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN428" + } ; + +mkN429 : Str -> N ; +mkN429 base = + case base of { + base_1+"ка"+base_2@(?+?+?+?+?+?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+"ка"+base_2 ; + Pl => base_1+"ки"+base_2+"и" + } ; + Acc => table { + Sg => base_1+"ку"+base_2 ; + Pl => base_1+"ки"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"ці"+base_2+"ові" ; + Pl => base_1+"кам"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+"ки"+base_2+"а" ; + Pl => base_1+"ок"+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"ці"+base_2+"у" ; + Pl => base_1+"ках"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"кою"+base_2+"ом" ; + Pl => base_1+"ками"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"ко"+base_2+"у" ; + Pl => base_1+"ки"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN429" + } ; + +mkN430 : Str -> N ; +mkN430 base = + case base of { + base_1+"ція" => lin N + { s = table { + Nom => table { + Sg => base_1+"ція" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"цію" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ції" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"тору" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"ції" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"цією" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"ціє" ; + Pl => nonExist + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN430" + } ; + +mkN431 : Str -> N ; +mkN431 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?) => lin N + { s = table { + Nom => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+base_2 ; + Pl => base_1+"и"+base_2+"и" + } ; + Dat => table { + Sg => base_1+"у"+base_2+"ові" ; + Pl => base_1+"ам"+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+"і"+base_2+"і" ; + Pl => base_1+"ах"+base_2+"ах" + } ; + Instr => table { + Sg => base_1+"ом"+base_2+"ом" ; + Pl => base_1+"ами"+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"и"+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN431" + } ; + +mkN432 : Str -> N ; +mkN432 base = + case base of { + base_1 => lin N + { s = table { + Nom => table { + Sg => base_1 ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"у" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"е" ; + Pl => base_1+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN432" + } ; + +mkN433 : Str -> N ; +mkN433 base = + case base of { + base_1+"ня" => lin N + { s = table { + Nom => table { + Sg => base_1+"ня" ; + Pl => base_1+"ня" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+"ня" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+"ням" + } ; + Gen => table { + Sg => base_1+"ь" ; + Pl => base_1+"ь" + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+"нях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+"нями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+"ня" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN433" + } ; + +mkN434 : Str -> N ; +mkN434 base = + case base of { + "причина" => lin N + { s = table { + Nom => table { + Sg => "причина" ; + Pl => "сволоти" + } ; + Acc => table { + Sg => "причину" ; + Pl => "причини" + } ; + Dat => table { + Sg => "причині" ; + Pl => "причинам" + } ; + Gen => table { + Sg => "сволоти" ; + Pl => "сволот" + } ; + Loc => table { + Sg => "причині" ; + Pl => "причинах" + } ; + Instr => table { + Sg => "причиною" ; + Pl => "причинами" + } + } ; + Voc = table { + Sg => "причино" ; + Pl => "причини" + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN434" + } ; + +mkN435 : Str -> N ; +mkN435 base = + case base of { + base_1+"ьо"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"ьо"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"ьо"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN435" + } ; + +mkN436 : Str -> N ; +mkN436 base = + case base of { + base_1+"х" => lin N + { s = table { + Nom => table { + Sg => base_1+"х" ; + Pl => base_1+"хи" + } ; + Acc => table { + Sg => base_1+"ха" ; + Pl => base_1+"хи" + } ; + Dat => table { + Sg => base_1+"хові" ; + Pl => base_1+"хам" + } ; + Gen => table { + Sg => base_1+"ха" ; + Pl => base_1+"хів" + } ; + Loc => table { + Sg => base_1+"хові" ; + Pl => base_1+"хах" + } ; + Instr => table { + Sg => base_1+"хом" ; + Pl => base_1+"хами" + } + } ; + Voc = table { + Sg => base_1+"ше" ; + Pl => base_1+"хи" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN436" + } ; + +mkN437 : Str -> N ; +mkN437 base = + case base of { + base_1+base_2@?+"ця" => lin N + { s = table { + Nom => table { + Sg => base_1+base_2+"ця" ; + Pl => base_1+base_2+"ця" + } ; + Acc => table { + Sg => nonExist ; + Pl => base_1+base_2+"ця" + } ; + Dat => table { + Sg => nonExist ; + Pl => base_1+base_2+"цям" + } ; + Gen => table { + Sg => base_1+"ец"+base_2 ; + Pl => base_1+"ец"+base_2 + } ; + Loc => table { + Sg => nonExist ; + Pl => base_1+base_2+"цях" + } ; + Instr => table { + Sg => nonExist ; + Pl => base_1+base_2+"цями" + } + } ; + Voc = table { + Sg => nonExist ; + Pl => base_1+base_2+"ця" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN437" + } ; + +mkN438 : Str -> N ; +mkN438 base = + case base of { + base_1+"е"+base_2@? => lin N + { s = table { + Nom => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Acc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+base_2+"и" + } ; + Dat => table { + Sg => base_1+base_2+"ові" ; + Pl => base_1+base_2+"ам" + } ; + Gen => table { + Sg => base_1+base_2+"а" ; + Pl => base_1+base_2+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"у" ; + Pl => base_1+base_2+"ах" + } ; + Instr => table { + Sg => base_1+base_2+"ом" ; + Pl => base_1+base_2+"ами" + } + } ; + Voc = table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"и" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN438" + } ; + +mkN439 : Str -> N ; +mkN439 base = + case base of { + base_1+"о" => lin N + { s = table { + Nom => table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + Acc => table { + Sg => base_1+"о" ; + Pl => base_1+"ів" + } ; + Dat => table { + Sg => base_1+"ові" ; + Pl => base_1+"ам" + } ; + Gen => table { + Sg => base_1+"а" ; + Pl => base_1+"ів" + } ; + Loc => table { + Sg => base_1+"ові" ; + Pl => base_1+"ах" + } ; + Instr => table { + Sg => base_1+"ом" ; + Pl => base_1+"ами" + } + } ; + Voc = table { + Sg => base_1+"о" ; + Pl => base_1+"и" + } ; + g = Neuter + }; + _ => error "Can't apply paradigm mkN439" + } ; + +mkN440 : Str -> N ; +mkN440 base = + case base of { + base_1+"р"+base_2@?+base_3@?+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"р"+base_2+base_3+"ь" ; + Pl => base_1+base_2+"р"+base_3+"і" + } ; + Acc => table { + Sg => base_1+"р"+base_2+base_3+"ь" ; + Pl => base_1+base_2+"р"+base_3+"і" + } ; + Dat => table { + Sg => base_1+base_2+"р"+base_3+"еві" ; + Pl => base_1+base_2+"р"+base_3+"ям" + } ; + Gen => table { + Sg => base_1+base_2+"р"+base_3+"я" ; + Pl => base_1+base_2+"р"+base_3+"ів" + } ; + Loc => table { + Sg => base_1+base_2+"р"+base_3+"ю" ; + Pl => base_1+base_2+"р"+base_3+"ях" + } ; + Instr => table { + Sg => base_1+base_2+"р"+base_3+"ем" ; + Pl => base_1+base_2+"р"+base_3+"ями" + } + } ; + Voc = table { + Sg => base_1+base_2+"р"+base_3+"ю" ; + Pl => base_1+base_2+"р"+base_3+"і" + } ; + g = Masc + }; + _ => error "Can't apply paradigm mkN440" + } ; + +mkN441 : Str -> N ; +mkN441 base = + case base of { + base_1+"і"+base_2@(?+?)+"ь" => lin N + { s = table { + Nom => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"і"+base_2+"ь" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"о"+base_2+"и" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"о"+base_2+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"і"+base_2+"ю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"о"+base_2+"е" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN441" + } ; + +mkN442 : Str -> N ; +mkN442 base = + case base of { + base_1+"я" => lin N + { s = table { + Nom => table { + Sg => base_1+"я" ; + Pl => nonExist + } ; + Acc => table { + Sg => base_1+"ю" ; + Pl => nonExist + } ; + Dat => table { + Sg => base_1+"ї" ; + Pl => nonExist + } ; + Gen => table { + Sg => base_1+"ї" ; + Pl => nonExist + } ; + Loc => table { + Sg => base_1+"і" ; + Pl => nonExist + } ; + Instr => table { + Sg => base_1+"єю" ; + Pl => nonExist + } + } ; + Voc = table { + Sg => base_1+"є" ; + Pl => nonExist + } ; + g = Fem + }; + _ => error "Can't apply paradigm mkN442" + } ; + +mkV001 : Str -> V ; +mkV001 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"тий" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ний" + } + } + }; + _ => error "Can't apply paradigm mkV001" + } ; + +mkV002 : Str -> V ; +mkV002 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV002" + } ; + +mkV003 : Str -> V ; +mkV003 base = + case base of { + base_1+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ваймо" ; + imperative2 = table { + Sg => base_1+"вай" ; + Pl => base_1+"вайте" + } ; + infinitive = base_1+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"вав" ; + Pl => base_1+"вали" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"вали" + } ; + Neuter => table { + Sg => base_1+"вало" ; + Pl => base_1+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ваний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV003" + } ; + +mkV004 : Str -> V ; +mkV004 base = + case base of { + base_1+"с"+base_2@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"с"+base_2+"ати" ; + Pl => base_1+"ш"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"ш"+base_2+"еш" ; + Pl => base_1+"ш"+base_2+"ете" + } ; + P3 => table { + Sg => base_1+"ш"+base_2+"е" ; + Pl => base_1+"ш"+base_2+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"с"+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ш"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"ш"+base_2+"и" ; + Pl => base_1+"ш"+base_2+"іть" + } ; + infinitive = base_1+"с"+base_2+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"с"+base_2+"ав" ; + Pl => base_1+"с"+base_2+"али" + } ; + Fem => table { + Sg => base_1+"с"+base_2+"ала" ; + Pl => base_1+"с"+base_2+"али" + } ; + Neuter => table { + Sg => base_1+"с"+base_2+"ало" ; + Pl => base_1+"с"+base_2+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"с"+base_2+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV004" + } ; + +mkV005 : Str -> V ; +mkV005 base = + case base of { + base_1+base_2@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати" ; + Pl => base_1+"те"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"те"+base_2+"еш" ; + Pl => base_1+"те"+base_2+"ете" + } ; + P3 => table { + Sg => base_1+"те"+base_2+"е" ; + Pl => base_1+"те"+base_2+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"те"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"те"+base_2+"и" ; + Pl => base_1+"те"+base_2+"іть" + } ; + infinitive = base_1+base_2+"ати" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ав" ; + Pl => base_1+base_2+"али" + } ; + Fem => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"али" + } ; + Neuter => table { + Sg => base_1+base_2+"ало" ; + Pl => base_1+base_2+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV005" + } ; + +mkV006 : Str -> V ; +mkV006 base = + case base of { + "с"+base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "с"+base_1+"ати" ; + Pl => "ш"+base_1+"ем" + } ; + P2 => table { + Sg => "ш"+base_1+"еш" ; + Pl => "ш"+base_1+"ете" + } ; + P3 => table { + Sg => "ш"+base_1+"е" ; + Pl => "ш"+base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "ш"+base_1+"ім" ; + imperative2 = table { + Sg => "ш"+base_1+"и" ; + Pl => "ш"+base_1+"іть" + } ; + infinitive = "с"+base_1+"ати" ; + participle = table { + Masc => table { + Sg => "с"+base_1+"ав" ; + Pl => "с"+base_1+"али" + } ; + Fem => table { + Sg => "с"+base_1+"ала" ; + Pl => "с"+base_1+"али" + } ; + Neuter => table { + Sg => "с"+base_1+"ало" ; + Pl => "с"+base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV006" + } ; + +mkV007 : Str -> V ; +mkV007 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"лений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" + } + } + }; + _ => error "Can't apply paradigm mkV007" + } ; + +mkV008 : Str -> V ; +mkV008 base = + case base of { + base_1+"тити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тити" ; + Pl => base_1+"тим" + } ; + P2 => table { + Sg => base_1+"тиш" ; + Pl => base_1+"тите" + } ; + P3 => table { + Sg => base_1+"тить" ; + Pl => base_1+"тять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"тьмо" ; + imperative2 = table { + Sg => base_1+"ть" ; + Pl => base_1+"тьте" + } ; + infinitive = base_1+"тити" ; + participle = table { + Masc => table { + Sg => base_1+"тив" ; + Pl => base_1+"тили" + } ; + Fem => table { + Sg => base_1+"тила" ; + Pl => base_1+"тили" + } ; + Neuter => table { + Sg => base_1+"тило" ; + Pl => base_1+"тили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"чений" + } + } + }; + _ => error "Can't apply paradigm mkV008" + } ; + +mkV009 : Str -> V ; +mkV009 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"'єм" + } ; + P2 => table { + Sg => base_1+"'єш" ; + Pl => base_1+"'єте" + } ; + P3 => table { + Sg => base_1+"'є" ; + Pl => base_1+"'ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"иймо" ; + imperative2 = table { + Sg => base_1+"ий" ; + Pl => base_1+"ийте" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"итий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV009" + } ; + +mkV010 : Str -> V ; +mkV010 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" + } + } + }; + _ => error "Can't apply paradigm mkV010" + } ; + +mkV011 : Str -> V ; +mkV011 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV011" + } ; + +mkV012 : Str -> V ; +mkV012 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"лений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV012" + } ; + +mkV013 : Str -> V ; +mkV013 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = base_1+"лий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV013" + } ; + +mkV014 : Str -> V ; +mkV014 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV014" + } ; + +mkV015 : Str -> V ; +mkV015 base = + case base of { + base_1+"ести" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести" ; + Pl => base_1+"едем" + } ; + P2 => table { + Sg => base_1+"едеш" ; + Pl => base_1+"едете" + } ; + P3 => table { + Sg => base_1+"еде" ; + Pl => base_1+"едуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"едім" ; + imperative2 = table { + Sg => base_1+"еди" ; + Pl => base_1+"едіть" + } ; + infinitive = base_1+"ести" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"ели" + } ; + Fem => table { + Sg => base_1+"ела" ; + Pl => base_1+"ели" + } ; + Neuter => table { + Sg => base_1+"ело" ; + Pl => base_1+"ели" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"едений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"едений" + } + } + }; + _ => error "Can't apply paradigm mkV015" + } ; + +mkV016 : Str -> V ; +mkV016 base = + case base of { + base_1+"зати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати" ; + Pl => base_1+"жем" + } ; + P2 => table { + Sg => base_1+"жеш" ; + Pl => base_1+"жете" + } ; + P3 => table { + Sg => base_1+"же" ; + Pl => base_1+"жуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жім" ; + imperative2 = table { + Sg => base_1+"жи" ; + Pl => base_1+"жіть" + } ; + infinitive = base_1+"зати" ; + participle = table { + Masc => table { + Sg => base_1+"зав" ; + Pl => base_1+"зали" + } ; + Fem => table { + Sg => base_1+"зала" ; + Pl => base_1+"зали" + } ; + Neuter => table { + Sg => base_1+"зало" ; + Pl => base_1+"зали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"заний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"заний" + } + } + }; + _ => error "Can't apply paradigm mkV016" + } ; + +mkV017 : Str -> V ; +mkV017 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аний" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV017" + } ; + +mkV018 : Str -> V ; +mkV018 base = + case base of { + base_1+"сити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сити" ; + Pl => base_1+"сим" + } ; + P2 => table { + Sg => base_1+"сиш" ; + Pl => base_1+"сите" + } ; + P3 => table { + Sg => base_1+"сить" ; + Pl => base_1+"сять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"сім" ; + imperative2 = table { + Sg => base_1+"си" ; + Pl => base_1+"сіть" + } ; + infinitive = base_1+"сити" ; + participle = table { + Masc => table { + Sg => base_1+"сив" ; + Pl => base_1+"сили" + } ; + Fem => table { + Sg => base_1+"сила" ; + Pl => base_1+"сили" + } ; + Neuter => table { + Sg => base_1+"сило" ; + Pl => base_1+"сили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"шений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"шений" + } + } + }; + _ => error "Can't apply paradigm mkV018" + } ; + +mkV019 : Str -> V ; +mkV019 base = + case base of { + base_1+"сати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сати" ; + Pl => base_1+"шем" + } ; + P2 => table { + Sg => base_1+"шеш" ; + Pl => base_1+"шете" + } ; + P3 => table { + Sg => base_1+"ше" ; + Pl => base_1+"шуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"шім" ; + imperative2 = table { + Sg => base_1+"ши" ; + Pl => base_1+"шіть" + } ; + infinitive = base_1+"сати" ; + participle = table { + Masc => table { + Sg => base_1+"сав" ; + Pl => base_1+"сали" + } ; + Fem => table { + Sg => base_1+"сала" ; + Pl => base_1+"сали" + } ; + Neuter => table { + Sg => base_1+"сало" ; + Pl => base_1+"сали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"саний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"саний" + } + } + }; + _ => error "Can't apply paradigm mkV019" + } ; + +mkV020 : Str -> V ; +mkV020 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"є" ; --guessed + Pl => base_1+"ють" --guessed + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ньмо" ; + imperative2 = table { + Sg => base_1+"нь" ; + Pl => base_1+"ньте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV020" + } ; + +mkV021 : Str -> V ; +mkV021 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV021" + } ; + +mkV022 : Str -> V ; +mkV022 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => "будемо "+base_1+"ити" + } ; + P2 => table { + Sg => "будеш "+base_1+"ити" ; + Pl => "будете "+base_1+"ити" + } ; + P3 => table { + Sg => "буде "+base_1+"ити" ; + Pl => "будуть "+base_1+"ити" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"лений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV022" + } ; + +mkV023 : Str -> V ; +mkV023 base = + case base of { + base_1+"зати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати" ; + Pl => base_1+"жем" + } ; + P2 => table { + Sg => base_1+"жеш" ; + Pl => base_1+"жете" + } ; + P3 => table { + Sg => base_1+"же" ; + Pl => base_1+"жуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жмо" ; + imperative2 = table { + Sg => base_1+"ж" ; + Pl => base_1+"жте" + } ; + infinitive = base_1+"зати" ; + participle = table { + Masc => table { + Sg => base_1+"зав" ; + Pl => base_1+"зали" + } ; + Fem => table { + Sg => base_1+"зала" ; + Pl => base_1+"зали" + } ; + Neuter => table { + Sg => base_1+"зало" ; + Pl => base_1+"зали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"заний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"заний" + } + } + }; + _ => error "Can't apply paradigm mkV023" + } ; + +mkV024 : Str -> V ; +mkV024 base = + case base of { + base_1+"е"+base_2@("рз"|?)+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти" ; + Pl => base_1+"е"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"е"+base_2+"еш" ; + Pl => base_1+"е"+base_2+"ете" + } ; + P3 => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и" ; + Pl => base_1+"е"+base_2+"іть" + } ; + infinitive = base_1+"е"+base_2+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"е"+base_2+"ли" + } ; + Fem => table { + Sg => base_1+"е"+base_2+"ла" ; + Pl => base_1+"е"+base_2+"ли" + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"ло" ; + Pl => base_1+"е"+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV024" + } ; + +mkV025 : Str -> V ; +mkV025 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => base_1+"дем" + } ; + P2 => table { + Sg => base_1+"деш" ; + Pl => base_1+"дете" + } ; + P3 => table { + Sg => base_1+"де" ; + Pl => base_1+"дуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дім" ; + imperative2 = table { + Sg => base_1+"ди" ; + Pl => base_1+"діть" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"дений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дений" + } + } + }; + _ => error "Can't apply paradigm mkV025" + } ; + +mkV026 : Str -> V ; +mkV026 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => base_1+"дем" + } ; + P2 => table { + Sg => base_1+"деш" ; + Pl => base_1+"дете" + } ; + P3 => table { + Sg => base_1+"де" ; + Pl => base_1+"дуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо" ; + imperative2 = table { + Sg => base_1+"дь" ; + Pl => base_1+"дьте" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"дений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дений" + } + } + }; + _ => error "Can't apply paradigm mkV026" + } ; + +mkV027 : Str -> V ; +mkV027 base = + case base of { + base_1+"стити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"стити" ; + Pl => base_1+"стим" + } ; + P2 => table { + Sg => base_1+"стиш" ; + Pl => base_1+"стите" + } ; + P3 => table { + Sg => base_1+"стить" ; + Pl => base_1+"стять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"стити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"стьмо" ; + imperative2 = table { + Sg => base_1+"сть" ; + Pl => base_1+"стьте" + } ; + infinitive = base_1+"стити" ; + participle = table { + Masc => table { + Sg => base_1+"стив" ; + Pl => base_1+"стили" + } ; + Fem => table { + Sg => base_1+"стила" ; + Pl => base_1+"стили" + } ; + Neuter => table { + Sg => base_1+"стило" ; + Pl => base_1+"стили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"щений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"щений" + } + } + }; + _ => error "Can't apply paradigm mkV027" + } ; + +mkV028 : Str -> V ; +mkV028 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"вем" + } ; + P2 => table { + Sg => base_1+"веш" ; + Pl => base_1+"вете" + } ; + P3 => table { + Sg => base_1+"ве" ; + Pl => base_1+"вуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"вім" ; + imperative2 = table { + Sg => base_1+"ви" ; + Pl => base_1+"віть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"тий" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV028" + } ; + +mkV029 : Str -> V ; +mkV029 base = + case base of { + base_1+"ести" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести" ; + Pl => base_1+"етем" + } ; + P2 => table { + Sg => base_1+"етеш" ; + Pl => base_1+"етете" + } ; + P3 => table { + Sg => base_1+"ете" ; + Pl => base_1+"етуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"етім" ; + imperative2 = table { + Sg => base_1+"ети" ; + Pl => base_1+"етіть" + } ; + infinitive = base_1+"ести" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"ели" + } ; + Fem => table { + Sg => base_1+"ела" ; + Pl => base_1+"ели" + } ; + Neuter => table { + Sg => base_1+"ело" ; + Pl => base_1+"ели" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"етений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"етений" + } + } + }; + _ => error "Can't apply paradigm mkV029" + } ; + +mkV030 : Str -> V ; +mkV030 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"лєм" + } ; + P2 => table { + Sg => base_1+"лєш" ; + Pl => base_1+"лєте" + } ; + P3 => table { + Sg => base_1+"лє" ; + Pl => base_1+"лють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"иймо" ; + imperative2 = table { + Sg => base_1+"ий" ; + Pl => base_1+"ийте" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"итий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV030" + } ; + +mkV031 : Str -> V ; +mkV031 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV031" + } ; + +mkV032 : Str -> V ; +mkV032 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => base_1+"мо" + } ; + P2 => table { + Sg => base_1+"си" ; + Pl => base_1+"сте" + } ; + P3 => table { + Sg => base_1+"сть" ; + Pl => base_1+"дять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жмо" ; + imperative2 = table { + Sg => base_1+"ж" ; + Pl => base_1+"жте" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дений" + } + } + }; + _ => error "Can't apply paradigm mkV032" + } ; + +mkV033 : Str -> V ; +mkV033 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"дем" + } ; + P2 => table { + Sg => base_1+"деш" ; + Pl => base_1+"дете" + } ; + P3 => table { + Sg => base_1+"де" ; + Pl => base_1+"дуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дім" ; + imperative2 = table { + Sg => base_1+"ди" ; + Pl => base_1+"діть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"шов" ; + Pl => base_1+"шли" + } ; + Fem => table { + Sg => base_1+"шла" ; + Pl => base_1+"шли" + } ; + Neuter => table { + Sg => base_1+"шло" ; + Pl => base_1+"шли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"дений" + } + } + }; + _ => error "Can't apply paradigm mkV033" + } ; + +mkV034 : Str -> V ; +mkV034 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV034" + } ; + +mkV035 : Str -> V ; +mkV035 base = + case base of { + base_1+"увати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"увати" ; + Pl => base_1+"уєм" + } ; + P2 => table { + Sg => base_1+"уєш" ; + Pl => base_1+"уєте" + } ; + P3 => table { + Sg => base_1+"ує" ; + Pl => base_1+"ують" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"увати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"уймо" ; + imperative2 = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйте" + } ; + infinitive = base_1+"увати" ; + participle = table { + Masc => table { + Sg => base_1+"ував" ; + Pl => base_1+"ували" + } ; + Fem => table { + Sg => base_1+"увала" ; + Pl => base_1+"ували" + } ; + Neuter => table { + Sg => base_1+"увало" ; + Pl => base_1+"ували" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ований" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ований" + } + } + }; + _ => error "Can't apply paradigm mkV035" + } ; + +mkV036 : Str -> V ; +mkV036 base = + case base of { + base_1+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"вав" ; + Pl => base_1+"вали" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"вали" + } ; + Neuter => table { + Sg => base_1+"вало" ; + Pl => base_1+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ваний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ваний" + } + } + }; + _ => error "Can't apply paradigm mkV036" + } ; + +mkV037 : Str -> V ; +mkV037 base = + case base of { + "бути" => lin V + { active = table { + Imperf => { Past = "бувший" ; + Pres = table { + P1 => table { + Sg => "бути" ; + Pl => "є" + } ; + P2 => table { + Sg => "є" ; + Pl => "є" + } ; + P3 => table { + Sg => "є" ; + Pl => "є" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "будьмо" ; + imperative2 = table { + Sg => "будь" ; + Pl => "будьте" + } ; + infinitive = "бути" ; + participle = table { + Masc => table { + Sg => "був" ; + Pl => "були" + } ; + Fem => table { + Sg => "була" ; + Pl => "були" + } ; + Neuter => table { + Sg => "було" ; + Pl => "були" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV037" + } ; + +mkV038 : Str -> V ; +mkV038 base = + case base of { + base_1+"ути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = base_1+"улий" ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ути" ; + participle = table { + Masc => table { + Sg => base_1+"ув" ; + Pl => base_1+"ули" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"ули" + } ; + Neuter => table { + Sg => base_1+"уло" ; + Pl => base_1+"ули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV038" + } ; + +mkV039 : Str -> V ; +mkV039 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" --guessed + } ; + P2 => table { + Sg => base_1+"иш" ; --guessed + Pl => base_1+"ите" --guessed + } ; + P3 => table { + Sg => base_1+"ить" ; --guessed + Pl => base_1+"ать" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV039" + } ; + +mkV040 : Str -> V ; +mkV040 base = + case base of { + base_1+base_2@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати" ; + Pl => base_1+"е"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"е"+base_2+"еш" ; + Pl => base_1+"е"+base_2+"ете" + } ; + P3 => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и" ; + Pl => base_1+"е"+base_2+"іть" + } ; + infinitive = base_1+base_2+"ати" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ав" ; + Pl => base_1+base_2+"али" + } ; + Fem => table { + Sg => base_1+base_2+"ала" ; + Pl => base_1+base_2+"али" + } ; + Neuter => table { + Sg => base_1+base_2+"ало" ; + Pl => base_1+base_2+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+base_2+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV040" + } ; + +mkV041 : Str -> V ; +mkV041 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1+"нув" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"нений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV041" + } ; + +mkV042 : Str -> V ; +mkV042 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"нений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"нутий" + } + } + }; + _ => error "Can't apply paradigm mkV042" + } ; + +mkV043 : Str -> V ; +mkV043 base = + case base of { + base_1+"стити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"стити" ; + Pl => base_1+"стим" + } ; + P2 => table { + Sg => base_1+"стиш" ; + Pl => base_1+"стите" + } ; + P3 => table { + Sg => base_1+"стить" ; + Pl => base_1+"стять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"стити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"стім" ; + imperative2 = table { + Sg => base_1+"сти" ; + Pl => base_1+"стіть" + } ; + infinitive = base_1+"стити" ; + participle = table { + Masc => table { + Sg => base_1+"стив" ; + Pl => base_1+"стили" + } ; + Fem => table { + Sg => base_1+"стила" ; + Pl => base_1+"стили" + } ; + Neuter => table { + Sg => base_1+"стило" ; + Pl => base_1+"стили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"щений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"щений" + } + } + }; + _ => error "Can't apply paradigm mkV043" + } ; + +mkV044 : Str -> V ; +mkV044 base = + case base of { + base_1 => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = nonExist ; + imperative2 = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1 ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Fem => table { + Sg => nonExist ; + Pl => nonExist + } ; + Neuter => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV044" + } ; + +mkV045 : Str -> V ; +mkV045 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" --guessed + } ; + P2 => table { + Sg => base_1+"иш" ; --guessed + Pl => base_1+"ите" --guessed + } ; + P3 => table { + Sg => base_1+"ить" ; --guessed + Pl => base_1+"ать" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV045" + } ; + +mkV046 : Str -> V ; +mkV046 base = + case base of { + base_1+"ути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ути" ; + participle = table { + Masc => table { + Sg => base_1+"ув" ; + Pl => base_1+"ули" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"ули" + } ; + Neuter => table { + Sg => base_1+"уло" ; + Pl => base_1+"ули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV046" + } ; + +mkV047 : Str -> V ; +mkV047 base = + case base of { + base_1+"тити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тити" ; + Pl => base_1+"тим" + } ; + P2 => table { + Sg => base_1+"тиш" ; + Pl => base_1+"тите" + } ; + P3 => table { + Sg => base_1+"тить" ; + Pl => base_1+"тять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"тім" ; + imperative2 = table { + Sg => base_1+"ти" ; + Pl => base_1+"тіть" + } ; + infinitive = base_1+"тити" ; + participle = table { + Masc => table { + Sg => base_1+"тив" ; + Pl => base_1+"тили" + } ; + Fem => table { + Sg => base_1+"тила" ; + Pl => base_1+"тили" + } ; + Neuter => table { + Sg => base_1+"тило" ; + Pl => base_1+"тили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"чений" + } + } + }; + _ => error "Can't apply paradigm mkV047" + } ; + +mkV048 : Str -> V ; +mkV048 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV048" + } ; + +mkV049 : Str -> V ; +mkV049 base = + case base of { + base_1+"кати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"кати" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чім" ; + imperative2 = table { + Sg => base_1+"чи" ; + Pl => base_1+"чіть" + } ; + infinitive = base_1+"кати" ; + participle = table { + Masc => table { + Sg => base_1+"кав" ; + Pl => base_1+"кали" + } ; + Fem => table { + Sg => base_1+"кала" ; + Pl => base_1+"кали" + } ; + Neuter => table { + Sg => base_1+"кало" ; + Pl => base_1+"кали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"каний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV049" + } ; + +mkV050 : Str -> V ; +mkV050 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV050" + } ; + +mkV051 : Str -> V ; +mkV051 base = + case base of { + base_1+"сити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сити" ; + Pl => base_1+"сим" + } ; + P2 => table { + Sg => base_1+"сиш" ; + Pl => base_1+"сите" + } ; + P3 => table { + Sg => base_1+"сить" ; + Pl => base_1+"сять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"сьмо" ; + imperative2 = table { + Sg => base_1+"сь" ; + Pl => base_1+"сьте" + } ; + infinitive = base_1+"сити" ; + participle = table { + Masc => table { + Sg => base_1+"сив" ; + Pl => base_1+"сили" + } ; + Fem => table { + Sg => base_1+"сила" ; + Pl => base_1+"сили" + } ; + Neuter => table { + Sg => base_1+"сило" ; + Pl => base_1+"сили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"шений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"шений" + } + } + }; + _ => error "Can't apply paradigm mkV051" + } ; + +mkV052 : Str -> V ; +mkV052 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV052" + } ; + +mkV053 : Str -> V ; +mkV053 base = + case base of { + base_1+"г"+base_2@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"г"+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"г"+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"же"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"же"+base_2+"и" ; + Pl => base_1+"же"+base_2+"іть" + } ; + infinitive = base_1+"г"+base_2+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"г"+base_2+"ав" ; + Pl => base_1+"г"+base_2+"али" + } ; + Fem => table { + Sg => base_1+"г"+base_2+"ала" ; + Pl => base_1+"г"+base_2+"али" + } ; + Neuter => table { + Sg => base_1+"г"+base_2+"ало" ; + Pl => base_1+"г"+base_2+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"г"+base_2+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV053" + } ; + +mkV054 : Str -> V ; +mkV054 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => base_1+"нем" --guessed + } ; + P2 => table { + Sg => base_1+"неш" ; --guessed + Pl => base_1+"нете" --guessed + } ; + P3 => table { + Sg => base_1+"не" ; --guessed + Pl => base_1+"нуть" --guessed + } + } + } ; + Perf => { Past = base_1+"лий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"нений" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"нений" + } + } + }; + _ => error "Can't apply paradigm mkV054" + } ; + +mkV055 : Str -> V ; +mkV055 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV055" + } ; + +mkV056 : Str -> V ; +mkV056 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"лем" + } ; + P2 => table { + Sg => base_1+"леш" ; + Pl => base_1+"лете" + } ; + P3 => table { + Sg => base_1+"ле" ; + Pl => base_1+"лють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV056" + } ; + +mkV057 : Str -> V ; +mkV057 base = + case base of { + base_1+"хати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати" ; + Pl => base_1+"дем" + } ; + P2 => table { + Sg => base_1+"деш" ; + Pl => base_1+"дете" + } ; + P3 => table { + Sg => base_1+"де" ; + Pl => base_1+"дуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо" ; + imperative2 = table { + Sg => base_1+"дь" ; + Pl => base_1+"дьте" + } ; + infinitive = base_1+"хати" ; + participle = table { + Masc => table { + Sg => base_1+"хав" ; + Pl => base_1+"хали" + } ; + Fem => table { + Sg => base_1+"хала" ; + Pl => base_1+"хали" + } ; + Neuter => table { + Sg => base_1+"хало" ; + Pl => base_1+"хали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ханий" + } + } + }; + _ => error "Can't apply paradigm mkV057" + } ; + +mkV058 : Str -> V ; +mkV058 base = + case base of { + base_1+"огти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"огти" ; + Pl => base_1+"ожем" + } ; + P2 => table { + Sg => base_1+"ожеш" ; + Pl => base_1+"ожете" + } ; + P3 => table { + Sg => base_1+"оже" ; + Pl => base_1+"ожуть" + } + } + } ; + Perf => { Past = base_1+"ігший" ; + Pres = table { + P1 => table { + Sg => base_1+"огти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ожім" ; + imperative2 = table { + Sg => base_1+"ожи" ; + Pl => base_1+"ожіть" + } ; + infinitive = base_1+"огти" ; + participle = table { + Masc => table { + Sg => base_1+"іг" ; + Pl => base_1+"огли" + } ; + Fem => table { + Sg => base_1+"огла" ; + Pl => base_1+"огли" + } ; + Neuter => table { + Sg => base_1+"огло" ; + Pl => base_1+"огли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ожений" + } + } + }; + _ => error "Can't apply paradigm mkV058" + } ; + +mkV059 : Str -> V ; +mkV059 base = + case base of { + "йти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "jty" ; + Pl => "йдем" + } ; + P2 => table { + Sg => "йдеш" ; + Pl => "йдете" + } ; + P3 => table { + Sg => "йде" ; + Pl => "йдуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "йдім" ; + imperative2 = table { + Sg => "йди" ; + Pl => "йдіть" + } ; + infinitive = "йти" ; + participle = table { + Masc => table { + Sg => "йшов" ; + Pl => "йшли" + } ; + Fem => table { + Sg => "йшла" ; + Pl => "йшли" + } ; + Neuter => table { + Sg => "йшло" ; + Pl => "йшли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV059" + } ; + +mkV060 : Str -> V ; +mkV060 base = + case base of { + base_1+"кати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"кати" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"кати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чмо" ; + imperative2 = table { + Sg => base_1+"ч" ; + Pl => base_1+"чте" + } ; + infinitive = base_1+"кати" ; + participle = table { + Masc => table { + Sg => base_1+"кав" ; + Pl => base_1+"кали" + } ; + Fem => table { + Sg => base_1+"кала" ; + Pl => base_1+"кали" + } ; + Neuter => table { + Sg => base_1+"кало" ; + Pl => base_1+"кали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"каний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"каний" + } + } + }; + _ => error "Can't apply paradigm mkV060" + } ; + +mkV061 : Str -> V ; +mkV061 base = + case base of { + base_1+"о"+base_2@?+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ти" ; + Pl => base_1+"о"+base_2+"тем" + } ; + P2 => table { + Sg => base_1+"о"+base_2+"теш" ; + Pl => base_1+"о"+base_2+"тете" + } ; + P3 => table { + Sg => base_1+"о"+base_2+"те" ; + Pl => base_1+"о"+base_2+"туть" + } + } + } ; + Perf => { Past = base_1+"о"+base_2+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"о"+base_2+"тім" ; + imperative2 = table { + Sg => base_1+"о"+base_2+"ти" ; + Pl => base_1+"о"+base_2+"тіть" + } ; + infinitive = base_1+"о"+base_2+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2 ; + Pl => base_1+"о"+base_2+"ли" + } ; + Fem => table { + Sg => base_1+"о"+base_2+"ла" ; + Pl => base_1+"о"+base_2+"ли" + } ; + Neuter => table { + Sg => base_1+"о"+base_2+"ло" ; + Pl => base_1+"о"+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV061" + } ; + +mkV062 : Str -> V ; +mkV062 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = base_1+"ілий" ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV062" + } ; + +mkV063 : Str -> V ; +mkV063 base = + case base of { + "г"+base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "г"+base_1+"ати" ; + Pl => "же"+base_1+"ем" + } ; + P2 => table { + Sg => "же"+base_1+"еш" ; + Pl => "же"+base_1+"ете" + } ; + P3 => table { + Sg => "же"+base_1+"е" ; + Pl => "же"+base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "же"+base_1+"ім" ; + imperative2 = table { + Sg => "же"+base_1+"и" ; + Pl => "же"+base_1+"іть" + } ; + infinitive = "г"+base_1+"ати" ; + participle = table { + Masc => table { + Sg => "г"+base_1+"ав" ; + Pl => "г"+base_1+"али" + } ; + Fem => table { + Sg => "г"+base_1+"ала" ; + Pl => "г"+base_1+"али" + } ; + Neuter => table { + Sg => "г"+base_1+"ало" ; + Pl => "г"+base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "г"+base_1+"аний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV063" + } ; + +mkV064 : Str -> V ; +mkV064 base = + case base of { + base_1+"тіти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тіти" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"тім" ; + imperative2 = table { + Sg => base_1+"ти" ; + Pl => base_1+"тіть" + } ; + infinitive = base_1+"тіти" ; + participle = table { + Masc => table { + Sg => base_1+"тів" ; + Pl => base_1+"тіли" + } ; + Fem => table { + Sg => base_1+"тіла" ; + Pl => base_1+"тіли" + } ; + Neuter => table { + Sg => base_1+"тіло" ; + Pl => base_1+"тіли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV064" + } ; + +mkV065 : Str -> V ; +mkV065 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"лять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV065" + } ; + +mkV066 : Str -> V ; +mkV066 base = + case base of { + base_1+"о"+base_2@?+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и" ; + Pl => base_1+"е"+base_2+"уть" + } ; + infinitive = base_1+"о"+base_2+"ити" ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => base_1+"о"+base_2+"или" + } ; + Fem => table { + Sg => base_1+"о"+base_2+"ила" ; + Pl => base_1+"о"+base_2+"или" + } ; + Neuter => table { + Sg => base_1+"о"+base_2+"ило" ; + Pl => base_1+"о"+base_2+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV066" + } ; + +mkV067 : Str -> V ; +mkV067 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "-"+base_1+"ти" ; + Pl => "-"+base_1+"єм" + } ; + P2 => table { + Sg => "-"+base_1+"єш" ; + Pl => "-"+base_1+"єте" + } ; + P3 => table { + Sg => "-"+base_1+"є" ; + Pl => "-"+base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "-"+base_1+"ймо" ; + imperative2 = table { + Sg => "-"+base_1+"й" ; + Pl => "-"+base_1+"йте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => "-"+base_1+"в" ; + Pl => "-"+base_1+"ли" + } ; + Fem => table { + Sg => "-"+base_1+"ла" ; + Pl => "-"+base_1+"ли" + } ; + Neuter => table { + Sg => "-"+base_1+"ло" ; + Pl => "-"+base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV067" + } ; + +mkV068 : Str -> V ; +mkV068 base = + case base of { + base_1+base_2@?+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"і"+base_2+"ьмім" ; + imperative2 = table { + Sg => base_1+"і"+base_2+"ьми" ; + Pl => base_1+"і"+base_2+"ьміть" + } ; + infinitive = base_1+base_2+"яти" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"яв" ; + Pl => base_1+base_2+"яли" + } ; + Fem => table { + Sg => base_1+base_2+"яла" ; + Pl => base_1+base_2+"яли" + } ; + Neuter => table { + Sg => base_1+base_2+"яло" ; + Pl => base_1+base_2+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"ятий" + } + } + }; + _ => error "Can't apply paradigm mkV068" + } ; + +mkV069 : Str -> V ; +mkV069 base = + case base of { + "у"+base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "у"+base_1+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "у"+base_1+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "ві"+base_1+"ьмім" ; + imperative2 = table { + Sg => "ві"+base_1+"ьми" ; + Pl => "ві"+base_1+"ьміть" + } ; + infinitive = "у"+base_1+"яти" ; + participle = table { + Masc => table { + Sg => "у"+base_1+"яв" ; + Pl => "у"+base_1+"яли" + } ; + Fem => table { + Sg => "у"+base_1+"яла" ; + Pl => "у"+base_1+"яли" + } ; + Neuter => table { + Sg => "у"+base_1+"яло" ; + Pl => "у"+base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "у"+base_1+"ятий" + } + } + }; + _ => error "Can't apply paradigm mkV069" + } ; + +mkV070 : Str -> V ; +mkV070 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"нений" + } + } + }; + _ => error "Can't apply paradigm mkV070" + } ; + +mkV071 : Str -> V ; +mkV071 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => base_1+"єм"+base_2 + } ; + P2 => table { + Sg => base_1+"єш"+base_2 ; + Pl => base_1+"єте"+base_2 + } ; + P3 => table { + Sg => base_1+"єть"+base_2 ; + Pl => base_1+"ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV071" + } ; + +mkV072 : Str -> V ; +mkV072 base = + case base of { + base_1+"о"+base_2@?+"оти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"оти" ; + Pl => base_1+"е"+base_2+"ем" + } ; + P2 => table { + Sg => base_1+"е"+base_2+"еш" ; + Pl => base_1+"е"+base_2+"ете" + } ; + P3 => table { + Sg => base_1+"е"+base_2+"е" ; + Pl => base_1+"е"+base_2+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и" ; + Pl => base_1+"е"+base_2+"іть" + } ; + infinitive = base_1+"о"+base_2+"оти" ; + participle = table { + Masc => table { + Sg => base_1+"о"+base_2+"ов" ; + Pl => base_1+"о"+base_2+"оли" + } ; + Fem => table { + Sg => base_1+"о"+base_2+"ола" ; + Pl => base_1+"о"+base_2+"оли" + } ; + Neuter => table { + Sg => base_1+"о"+base_2+"оло" ; + Pl => base_1+"о"+base_2+"оли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV072" + } ; + +mkV073 : Str -> V ; +mkV073 base = + case base of { + base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"яти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ятий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV073" + } ; + +mkV074 : Str -> V ; +mkV074 base = + case base of { + base_1+"оти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"оти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"оти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"оти" ; + participle = table { + Masc => table { + Sg => base_1+"ов" ; + Pl => base_1+"оли" + } ; + Fem => table { + Sg => base_1+"ола" ; + Pl => base_1+"оли" + } ; + Neuter => table { + Sg => base_1+"оло" ; + Pl => base_1+"оли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV074" + } ; + +mkV075 : Str -> V ; +mkV075 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => "будемо "+base_1+"ити" + } ; + P2 => table { + Sg => "будеш "+base_1+"ити" ; + Pl => "будете "+base_1+"ити" + } ; + P3 => table { + Sg => "буде "+base_1+"ити" ; + Pl => "будуть "+base_1+"ити" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"лений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV075" + } ; + +mkV076 : Str -> V ; +mkV076 base = + case base of { + base_1+"увати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"увати" ; + Pl => "будемо "+base_1+"увати" + } ; + P2 => table { + Sg => "будеш "+base_1+"увати" ; + Pl => "будете "+base_1+"увати" + } ; + P3 => table { + Sg => "буде "+base_1+"увати" ; + Pl => "будуть "+base_1+"увати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"уймо" ; + imperative2 = table { + Sg => base_1+"уй" ; + Pl => base_1+"уйте" + } ; + infinitive = base_1+"увати" ; + participle = table { + Masc => table { + Sg => base_1+"ував" ; + Pl => base_1+"ували" + } ; + Fem => table { + Sg => base_1+"увала" ; + Pl => base_1+"ували" + } ; + Neuter => table { + Sg => base_1+"увало" ; + Pl => base_1+"ували" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV076" + } ; + +mkV077 : Str -> V ; +mkV077 base = + case base of { + base_1+"е"+base_2@?+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти" ; + Pl => base_1+base_2+"ем" + } ; + P2 => table { + Sg => base_1+base_2+"еш" ; + Pl => base_1+base_2+"ете" + } ; + P3 => table { + Sg => base_1+base_2+"е" ; + Pl => base_1+base_2+"уть" + } + } + } ; + Perf => { Past = base_1+"е"+base_2+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"ім" ; + imperative2 = table { + Sg => base_1+base_2+"и" ; + Pl => base_1+base_2+"іть" + } ; + infinitive = base_1+"е"+base_2+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"е"+base_2 ; + Pl => base_1+"е"+base_2+"ли" + } ; + Fem => table { + Sg => base_1+"е"+base_2+"ла" ; + Pl => base_1+"е"+base_2+"ли" + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"ло" ; + Pl => base_1+"е"+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"тий" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"е"+base_2+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV077" + } ; + +mkV078 : Str -> V ; +mkV078 base = + case base of { + base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => base_1+"яєм" + } ; + P2 => table { + Sg => base_1+"яєш" ; + Pl => base_1+"яєте" + } ; + P3 => table { + Sg => base_1+"яє" ; + Pl => base_1+"яють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"яймо" ; + imperative2 = table { + Sg => base_1+"яй" ; + Pl => base_1+"яйте" + } ; + infinitive = base_1+"яти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"юваний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV078" + } ; + +mkV079 : Str -> V ; +mkV079 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"є" ; --guessed + Pl => base_1+"ють" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо" ; + imperative2 = table { + Sg => base_1+"дь" ; + Pl => base_1+"дьте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV079" + } ; + +mkV080 : Str -> V ; +mkV080 base = + case base of { + base_1+"вати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати"+base_2 ; + Pl => base_1+"єм"+base_2 + } ; + P2 => table { + Sg => base_1+"єш"+base_2 ; + Pl => base_1+"єте"+base_2 + } ; + P3 => table { + Sg => base_1+"єть"+base_2 ; + Pl => base_1+"ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"вати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"вав"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Fem => table { + Sg => base_1+"вала"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Neuter => table { + Sg => base_1+"вало"+base_2 ; + Pl => base_1+"вали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV080" + } ; + +mkV081 : Str -> V ; +mkV081 base = + case base of { + base_1+"їти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти" ; + Pl => base_1+"їм" + } ; + P2 => table { + Sg => base_1+"їш" ; + Pl => base_1+"їте" + } ; + P3 => table { + Sg => base_1+"їть" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"їти" ; + participle = table { + Masc => table { + Sg => base_1+"їв" ; + Pl => base_1+"їли" + } ; + Fem => table { + Sg => base_1+"їла" ; + Pl => base_1+"їли" + } ; + Neuter => table { + Sg => base_1+"їло" ; + Pl => base_1+"їли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"єний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"єний" + } + } + }; + _ => error "Can't apply paradigm mkV081" + } ; + +mkV082 : Str -> V ; +mkV082 base = + case base of { + base_1+"їти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти" ; + Pl => base_1+"їм" + } ; + P2 => table { + Sg => base_1+"їш" ; + Pl => base_1+"їте" + } ; + P3 => table { + Sg => base_1+"їть" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"їм" ; + imperative2 = table { + Sg => base_1+"ї" ; + Pl => base_1+"їть" + } ; + infinitive = base_1+"їти" ; + participle = table { + Masc => table { + Sg => base_1+"їв" ; + Pl => base_1+"їли" + } ; + Fem => table { + Sg => base_1+"їла" ; + Pl => base_1+"їли" + } ; + Neuter => table { + Sg => base_1+"їло" ; + Pl => base_1+"їли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"єний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"єний" + } + } + }; + _ => error "Can't apply paradigm mkV082" + } ; + +mkV083 : Str -> V ; +mkV083 base = + case base of { + base_1+"оїти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"оїти" ; + Pl => base_1+"оїм" + } ; + P2 => table { + Sg => base_1+"оїш" ; + Pl => base_1+"оїте" + } ; + P3 => table { + Sg => base_1+"оїть" ; + Pl => base_1+"оять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"оїти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"іймо" ; + imperative2 = table { + Sg => base_1+"ій" ; + Pl => base_1+"ійте" + } ; + infinitive = base_1+"оїти" ; + participle = table { + Masc => table { + Sg => base_1+"оїв" ; + Pl => base_1+"оїли" + } ; + Fem => table { + Sg => base_1+"оїла" ; + Pl => base_1+"оїли" + } ; + Neuter => table { + Sg => base_1+"оїло" ; + Pl => base_1+"оїли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"оєний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"оєний" + } + } + }; + _ => error "Can't apply paradigm mkV083" + } ; + +mkV084 : Str -> V ; +mkV084 base = + case base of { + base_1+base_2@?+"е"+base_3@?+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"е"+base_3+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"е"+base_3+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"і"+base_2+base_3+"ім" ; + imperative2 = table { + Sg => base_1+"і"+base_2+base_3+"и" ; + Pl => base_1+"і"+base_2+base_3+"іть" + } ; + infinitive = base_1+base_2+"е"+base_3+"ти" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"е"+base_3 ; + Pl => base_1+base_2+"е"+base_3+"ли" + } ; + Fem => table { + Sg => base_1+base_2+"е"+base_3+"ла" ; + Pl => base_1+base_2+"е"+base_3+"ли" + } ; + Neuter => table { + Sg => base_1+base_2+"е"+base_3+"ло" ; + Pl => base_1+base_2+"е"+base_3+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"е"+base_3+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV084" + } ; + +mkV085 : Str -> V ; +mkV085 base = + case base of { + base_1+"ювати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => base_1+"юєм" + } ; + P2 => table { + Sg => base_1+"юєш" ; + Pl => base_1+"юєте" + } ; + P3 => table { + Sg => base_1+"ює" ; + Pl => base_1+"юють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"юймо" ; + imperative2 = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйте" + } ; + infinitive = base_1+"ювати" ; + participle = table { + Masc => table { + Sg => base_1+"ював" ; + Pl => base_1+"ювали" + } ; + Fem => table { + Sg => base_1+"ювала" ; + Pl => base_1+"ювали" + } ; + Neuter => table { + Sg => base_1+"ювало" ; + Pl => base_1+"ювали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ьований" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ьований" + } + } + }; + _ => error "Can't apply paradigm mkV085" + } ; + +mkV086 : Str -> V ; +mkV086 base = + case base of { + base_1+"хати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати" ; + Pl => base_1+"шем" + } ; + P2 => table { + Sg => base_1+"шеш" ; + Pl => base_1+"шете" + } ; + P3 => table { + Sg => base_1+"ше" ; + Pl => base_1+"шуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"шім" ; + imperative2 = table { + Sg => base_1+"ши" ; + Pl => base_1+"шіть" + } ; + infinitive = base_1+"хати" ; + participle = table { + Masc => table { + Sg => base_1+"хав" ; + Pl => base_1+"хали" + } ; + Fem => table { + Sg => base_1+"хала" ; + Pl => base_1+"хали" + } ; + Neuter => table { + Sg => base_1+"хало" ; + Pl => base_1+"хали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ханий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV086" + } ; + +mkV087 : Str -> V ; +mkV087 base = + case base of { + base_1+"ктати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ктати" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чім" ; + imperative2 = table { + Sg => base_1+"чи" ; + Pl => base_1+"чіть" + } ; + infinitive = base_1+"ктати" ; + participle = table { + Masc => table { + Sg => base_1+"ктав" ; + Pl => base_1+"ктали" + } ; + Fem => table { + Sg => base_1+"ктала" ; + Pl => base_1+"ктали" + } ; + Neuter => table { + Sg => base_1+"ктало" ; + Pl => base_1+"ктали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV087" + } ; + +mkV088 : Str -> V ; +mkV088 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"джмо" ; + imperative2 = table { + Sg => base_1+"дж" ; + Pl => base_1+"джте" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV088" + } ; + +mkV089 : Str -> V ; +mkV089 base = + case base of { + base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"яти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"яний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"яний" + } + } + }; + _ => error "Can't apply paradigm mkV089" + } ; + +mkV090 : Str -> V ; +mkV090 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV090" + } ; + +mkV091 : Str -> V ; +mkV091 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"ять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV091" + } ; + +mkV092 : Str -> V ; +mkV092 base = + case base of { + base_1+"ояти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ояти"+base_2 ; + Pl => base_1+"оїм"+base_2 + } ; + P2 => table { + Sg => base_1+"оїш"+base_2 ; + Pl => base_1+"оїте"+base_2 + } ; + P3 => table { + Sg => base_1+"оїть"+base_2 ; + Pl => base_1+"оять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"іймо"+base_2 ; + imperative2 = table { + Sg => base_1+"ій"+base_2 ; + Pl => base_1+"ійте"+base_2 + } ; + infinitive = base_1+"ояти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ояв"+base_2 ; + Pl => base_1+"ояли"+base_2 + } ; + Fem => table { + Sg => base_1+"ояла"+base_2 ; + Pl => base_1+"ояли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ояло"+base_2 ; + Pl => base_1+"ояли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV092" + } ; + +mkV093 : Str -> V ; +mkV093 base = + case base of { + base_1+"ягти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ягти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ягти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"яжмо" ; + imperative2 = table { + Sg => base_1+"яж" ; + Pl => base_1+"яжте" + } ; + infinitive = base_1+"ягти" ; + participle = table { + Masc => table { + Sg => base_1+"іг" ; + Pl => base_1+"ягли" + } ; + Fem => table { + Sg => base_1+"ягла" ; + Pl => base_1+"ягли" + } ; + Neuter => table { + Sg => base_1+"ягло" ; + Pl => base_1+"ягли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV093" + } ; + +mkV094 : Str -> V ; +mkV094 base = + case base of { + base_1+"екти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"екти" ; + Pl => base_1+"ечем" + } ; + P2 => table { + Sg => base_1+"ечеш" ; + Pl => base_1+"ечете" + } ; + P3 => table { + Sg => base_1+"ече" ; + Pl => base_1+"ечуть" + } + } + } ; + Perf => { Past = base_1+"еклий" ; + Pres = table { + P1 => table { + Sg => base_1+"екти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ечім" ; + imperative2 = table { + Sg => base_1+"ечи" ; + Pl => base_1+"ечіть" + } ; + infinitive = base_1+"екти" ; + participle = table { + Masc => table { + Sg => base_1+"ік" ; + Pl => base_1+"екли" + } ; + Fem => table { + Sg => base_1+"екла" ; + Pl => base_1+"екли" + } ; + Neuter => table { + Sg => base_1+"екло" ; + Pl => base_1+"екли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ечений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ечений" + } + } + }; + _ => error "Can't apply paradigm mkV094" + } ; + +mkV095 : Str -> V ; +mkV095 base = + case base of { + base_1+"істи" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"істи" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"істи" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ядьмо" ; + imperative2 = table { + Sg => base_1+"ядь" ; + Pl => base_1+"ядьте" + } ; + infinitive = base_1+"істи" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV095" + } ; + +mkV096 : Str -> V ; +mkV096 base = + case base of { + base_1+"ути"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути"+base_2 ; + Pl => base_1+"ем"+base_2 + } ; + P2 => table { + Sg => base_1+"еш"+base_2 ; + Pl => base_1+"ете"+base_2 + } ; + P3 => table { + Sg => base_1+"еть"+base_2 ; + Pl => base_1+"уть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ути"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ув"+base_2 ; + Pl => base_1+"ули"+base_2 + } ; + Fem => table { + Sg => base_1+"ула"+base_2 ; + Pl => base_1+"ули"+base_2 + } ; + Neuter => table { + Sg => base_1+"уло"+base_2 ; + Pl => base_1+"ули"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV096" + } ; + +mkV097 : Str -> V ; +mkV097 base = + case base of { + base_1+"гти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; + Pl => base_1+"жим" + } ; + P2 => table { + Sg => base_1+"жиш" ; + Pl => base_1+"жите" + } ; + P3 => table { + Sg => base_1+"жить" ; + Pl => base_1+"жать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жім" ; + imperative2 = table { + Sg => base_1+"жи" ; + Pl => base_1+"жіть" + } ; + infinitive = base_1+"гти" ; + participle = table { + Masc => table { + Sg => base_1+"г" ; + Pl => base_1+"гли" + } ; + Fem => table { + Sg => base_1+"гла" ; + Pl => base_1+"гли" + } ; + Neuter => table { + Sg => base_1+"гло" ; + Pl => base_1+"гли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV097" + } ; + +mkV098 : Str -> V ; +mkV098 base = + case base of { + base_1+"ояти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ояти" ; + Pl => base_1+"оїм" + } ; + P2 => table { + Sg => base_1+"оїш" ; + Pl => base_1+"оїте" + } ; + P3 => table { + Sg => base_1+"оїть" ; + Pl => base_1+"оять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ояти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"іймо" ; + imperative2 = table { + Sg => base_1+"ій" ; + Pl => base_1+"ійте" + } ; + infinitive = base_1+"ояти" ; + participle = table { + Masc => table { + Sg => base_1+"ояв" ; + Pl => base_1+"ояли" + } ; + Fem => table { + Sg => base_1+"ояла" ; + Pl => base_1+"ояли" + } ; + Neuter => table { + Sg => base_1+"ояло" ; + Pl => base_1+"ояли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ояний" + } + } + }; + _ => error "Can't apply paradigm mkV098" + } ; + +mkV099 : Str -> V ; +mkV099 base = + case base of { + base_1+"яти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти"+base_2 ; + Pl => base_1+"єм"+base_2 + } ; + P2 => table { + Sg => base_1+"єш"+base_2 ; + Pl => base_1+"єте"+base_2 + } ; + P3 => table { + Sg => base_1+"єть"+base_2 ; + Pl => base_1+"ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"яти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"яв"+base_2 ; + Pl => base_1+"яли"+base_2 + } ; + Fem => table { + Sg => base_1+"яла"+base_2 ; + Pl => base_1+"яли"+base_2 + } ; + Neuter => table { + Sg => base_1+"яло"+base_2 ; + Pl => base_1+"яли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV099" + } ; + +mkV100 : Str -> V ; +mkV100 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = base_1+"ілий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"іти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV100" + } ; + +mkV101 : Str -> V ; +mkV101 base = + case base of { + base_1+"тати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тати" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чім" ; + imperative2 = table { + Sg => base_1+"чи" ; + Pl => base_1+"чіть" + } ; + infinitive = base_1+"тати" ; + participle = table { + Masc => table { + Sg => base_1+"тав" ; + Pl => base_1+"тали" + } ; + Fem => table { + Sg => base_1+"тала" ; + Pl => base_1+"тали" + } ; + Neuter => table { + Sg => base_1+"тало" ; + Pl => base_1+"тали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"таний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"таний" + } + } + }; + _ => error "Can't apply paradigm mkV101" + } ; + +mkV102 : Str -> V ; +mkV102 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV102" + } ; + +mkV103 : Str -> V ; +mkV103 base = + case base of { + base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"є" ; --guessed + Pl => base_1+"ють" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"імім" ; + imperative2 = table { + Sg => base_1+"іми" ; + Pl => base_1+"іміть" + } ; + infinitive = base_1+"яти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ятий" + } + } + }; + _ => error "Can't apply paradigm mkV103" + } ; + +mkV104 : Str -> V ; +mkV104 base = + case base of { + base_1+"гти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; + Pl => base_1+"жем" + } ; + P2 => table { + Sg => base_1+"жеш" ; + Pl => base_1+"жете" + } ; + P3 => table { + Sg => base_1+"же" ; + Pl => base_1+"жуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жім" ; + imperative2 = table { + Sg => base_1+"жи" ; + Pl => base_1+"жіть" + } ; + infinitive = base_1+"гти" ; + participle = table { + Masc => table { + Sg => base_1+"г" ; + Pl => base_1+"гли" + } ; + Fem => table { + Sg => base_1+"гла" ; + Pl => base_1+"гли" + } ; + Neuter => table { + Sg => base_1+"гло" ; + Pl => base_1+"гли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV104" + } ; + +mkV105 : Str -> V ; +mkV105 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => base_1+"вем" + } ; + P2 => table { + Sg => base_1+"веш" ; + Pl => base_1+"вете" + } ; + P3 => table { + Sg => base_1+"ве" ; + Pl => base_1+"вуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"вім" ; + imperative2 = table { + Sg => base_1+"ви" ; + Pl => base_1+"віть" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV105" + } ; + +mkV106 : Str -> V ; +mkV106 base = + case base of { + base_1+"оти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"оти"+base_2 ; + Pl => base_1+"ем"+base_2 + } ; + P2 => table { + Sg => base_1+"еш"+base_2 ; + Pl => base_1+"ете"+base_2 + } ; + P3 => table { + Sg => base_1+"еть"+base_2 ; + Pl => base_1+"ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"оти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ов"+base_2 ; + Pl => base_1+"оли"+base_2 + } ; + Fem => table { + Sg => base_1+"ола"+base_2 ; + Pl => base_1+"оли"+base_2 + } ; + Neuter => table { + Sg => base_1+"оло"+base_2 ; + Pl => base_1+"оли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV106" + } ; + +mkV107 : Str -> V ; +mkV107 base = + case base of { + "і"+base_1+"ювати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "і"+base_1+"ювати" ; + Pl => "будемо й"+base_1+"ювати" + } ; + P2 => table { + Sg => "будеш і"+base_1+"ювати" ; + Pl => "будете й"+base_1+"ювати" + } ; + P3 => table { + Sg => "буде й"+base_1+"ювати" ; + Pl => "будуть і"+base_1+"ювати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "і"+base_1+"юймо" ; + imperative2 = table { + Sg => "і"+base_1+"юй" ; + Pl => "і"+base_1+"юйте" + } ; + infinitive = "і"+base_1+"ювати" ; + participle = table { + Masc => table { + Sg => "і"+base_1+"ював" ; + Pl => "і"+base_1+"ювали" + } ; + Fem => table { + Sg => "і"+base_1+"ювала" ; + Pl => "і"+base_1+"ювали" + } ; + Neuter => table { + Sg => "і"+base_1+"ювало" ; + Pl => "і"+base_1+"ювали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "і"+base_1+"ьований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV107" + } ; + +mkV108 : Str -> V ; +mkV108 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"мем" + } ; + P2 => table { + Sg => base_1+"меш" ; + Pl => base_1+"мете" + } ; + P3 => table { + Sg => base_1+"ме" ; + Pl => base_1+"муть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мім" ; + imperative2 = table { + Sg => base_1+"ми" ; + Pl => base_1+"міть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"атий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV108" + } ; + +mkV109 : Str -> V ; +mkV109 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"атий" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"атий" + } + } + }; + _ => error "Can't apply paradigm mkV109" + } ; + +mkV110 : Str -> V ; +mkV110 base = + case base of { + base_1+"егти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егти" ; + Pl => base_1+"ежем" + } ; + P2 => table { + Sg => base_1+"ежеш" ; + Pl => base_1+"ежете" + } ; + P3 => table { + Sg => base_1+"еже" ; + Pl => base_1+"ежуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"егти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ежім" ; + imperative2 = table { + Sg => base_1+"ежи" ; + Pl => base_1+"ежіть" + } ; + infinitive = base_1+"егти" ; + participle = table { + Masc => table { + Sg => base_1+"іг" ; + Pl => base_1+"егли" + } ; + Fem => table { + Sg => base_1+"егла" ; + Pl => base_1+"егли" + } ; + Neuter => table { + Sg => base_1+"егло" ; + Pl => base_1+"егли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ежений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ежений" + } + } + }; + _ => error "Can't apply paradigm mkV110" + } ; + +mkV111 : Str -> V ; +mkV111 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = base_1+"ілий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"іти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV111" + } ; + +mkV112 : Str -> V ; +mkV112 base = + case base of { + base_1+"вати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати"+base_2 ; + Pl => base_1+"єм"+base_2 + } ; + P2 => table { + Sg => base_1+"єш"+base_2 ; + Pl => base_1+"єте"+base_2 + } ; + P3 => table { + Sg => base_1+"єть"+base_2 ; + Pl => base_1+"ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ваймо"+base_2 ; + imperative2 = table { + Sg => base_1+"вай"+base_2 ; + Pl => base_1+"вайте"+base_2 + } ; + infinitive = base_1+"вати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"вав"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Fem => table { + Sg => base_1+"вала"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Neuter => table { + Sg => base_1+"вало"+base_2 ; + Pl => base_1+"вали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV112" + } ; + +mkV113 : Str -> V ; +mkV113 base = + case base of { + base_1+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => "будемо "+base_1+"вати" + } ; + P2 => table { + Sg => "будеш "+base_1+"вати" ; + Pl => "будете "+base_1+"вати" + } ; + P3 => table { + Sg => "буде "+base_1+"вати" ; + Pl => "будуть "+base_1+"вати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"вав" ; + Pl => base_1+"вали" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"вали" + } ; + Neuter => table { + Sg => base_1+"вало" ; + Pl => base_1+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ваний" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ваний" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV113" + } ; + +mkV114 : Str -> V ; +mkV114 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => "будемо "+base_1+"ити"+base_2 + } ; + P2 => table { + Sg => "будеш "+base_1+"ити"+base_2 ; + Pl => "будете "+base_1+"ити"+base_2 + } ; + P3 => table { + Sg => "буде "+base_1+"ити"+base_2 ; + Pl => "будуть "+base_1+"ити"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV114" + } ; + +mkV115 : Str -> V ; +mkV115 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"ять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо"+base_2 ; + imperative2 = table { + Sg => base_1+"ь"+base_2 ; + Pl => base_1+"ьте"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV115" + } ; + +mkV116 : Str -> V ; +mkV116 base = + case base of { + base_1+"ути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ути" ; + participle = table { + Masc => table { + Sg => base_1+"ув" ; + Pl => base_1+"ули" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"ули" + } ; + Neuter => table { + Sg => base_1+"уло" ; + Pl => base_1+"ули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"утий" + } + } + }; + _ => error "Can't apply paradigm mkV116" + } ; + +mkV117 : Str -> V ; +mkV117 base = + case base of { + base_1+"ути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => base_1+"мем" + } ; + P2 => table { + Sg => base_1+"меш" ; + Pl => base_1+"мете" + } ; + P3 => table { + Sg => base_1+"ме" ; + Pl => base_1+"муть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мім" ; + imperative2 = table { + Sg => base_1+"ми" ; + Pl => base_1+"міть" + } ; + infinitive = base_1+"ути" ; + participle = table { + Masc => table { + Sg => base_1+"ув" ; + Pl => base_1+"ули" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"ули" + } ; + Neuter => table { + Sg => base_1+"уло" ; + Pl => base_1+"ули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"утий" + } + } + }; + _ => error "Can't apply paradigm mkV117" + } ; + +mkV118 : Str -> V ; +mkV118 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"'єм"+base_2 + } ; + P2 => table { + Sg => base_1+"'єш"+base_2 ; + Pl => base_1+"'єте"+base_2 + } ; + P3 => table { + Sg => base_1+"'єть"+base_2 ; + Pl => base_1+"'ють"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"иймо"+base_2 ; + imperative2 = table { + Sg => base_1+"ий"+base_2 ; + Pl => base_1+"ийте"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV118" + } ; + +mkV119 : Str -> V ; +mkV119 base = + case base of { + base_1+"окти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"окти" ; + Pl => base_1+"очем" + } ; + P2 => table { + Sg => base_1+"очеш" ; + Pl => base_1+"очете" + } ; + P3 => table { + Sg => base_1+"оче" ; + Pl => base_1+"очуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"очім" ; + imperative2 = table { + Sg => base_1+"очи" ; + Pl => base_1+"очіть" + } ; + infinitive = base_1+"окти" ; + participle = table { + Masc => table { + Sg => base_1+"ік" ; + Pl => base_1+"окли" + } ; + Fem => table { + Sg => base_1+"окла" ; + Pl => base_1+"окли" + } ; + Neuter => table { + Sg => base_1+"окло" ; + Pl => base_1+"окли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"очений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV119" + } ; + +mkV120 : Str -> V ; +mkV120 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"єть"+base_2 ; --guessed + Pl => base_1+"ють"+base_2 --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ньмо"+base_2 ; + imperative2 = table { + Sg => base_1+"нь"+base_2 ; + Pl => base_1+"ньте"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV120" + } ; + +mkV121 : Str -> V ; +mkV121 base = + case base of { + base_1+"тіти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тіти" ; + Pl => base_1+"тим" + } ; + P2 => table { + Sg => base_1+"тиш" ; + Pl => base_1+"тите" + } ; + P3 => table { + Sg => base_1+"тить" ; + Pl => base_1+"тять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"тім" ; + imperative2 = table { + Sg => base_1+"ти" ; + Pl => base_1+"тіть" + } ; + infinitive = base_1+"тіти" ; + participle = table { + Masc => table { + Sg => base_1+"тів" ; + Pl => base_1+"тіли" + } ; + Fem => table { + Sg => base_1+"тіла" ; + Pl => base_1+"тіли" + } ; + Neuter => table { + Sg => base_1+"тіло" ; + Pl => base_1+"тіли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV121" + } ; + +mkV122 : Str -> V ; +mkV122 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо" ; + imperative2 = table { + Sg => base_1 ; + Pl => base_1+"те" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"аний" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV122" + } ; + +mkV123 : Str -> V ; +mkV123 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"лять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо"+base_2 ; + imperative2 = table { + Sg => base_1+base_2 ; + Pl => base_1+"те"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV123" + } ; + +mkV124 : Str -> V ; +mkV124 base = + case base of { + "і"+base_1+"увати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "і"+base_1+"увати" ; + Pl => "будемо й"+base_1+"увати" + } ; + P2 => table { + Sg => "будеш і"+base_1+"увати" ; + Pl => "будете й"+base_1+"увати" + } ; + P3 => table { + Sg => "буде й"+base_1+"увати" ; + Pl => "будуть і"+base_1+"увати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "і"+base_1+"уймо" ; + imperative2 = table { + Sg => "і"+base_1+"уй" ; + Pl => "і"+base_1+"уйте" + } ; + infinitive = "і"+base_1+"увати" ; + participle = table { + Masc => table { + Sg => "і"+base_1+"ував" ; + Pl => "і"+base_1+"ували" + } ; + Fem => table { + Sg => "і"+base_1+"увала" ; + Pl => "і"+base_1+"ували" + } ; + Neuter => table { + Sg => "і"+base_1+"увало" ; + Pl => "і"+base_1+"ували" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "і"+base_1+"ований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV124" + } ; + +mkV125 : Str -> V ; +mkV125 base = + case base of { + base_1+"ювати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => "будемо "+base_1+"ювати" + } ; + P2 => table { + Sg => "будеш "+base_1+"ювати" ; + Pl => "будете "+base_1+"ювати" + } ; + P3 => table { + Sg => "буде "+base_1+"ювати" ; + Pl => "будуть "+base_1+"ювати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"юймо" ; + imperative2 = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйте" + } ; + infinitive = base_1+"ювати" ; + participle = table { + Masc => table { + Sg => base_1+"ював" ; + Pl => base_1+"ювали" + } ; + Fem => table { + Sg => base_1+"ювала" ; + Pl => base_1+"ювали" + } ; + Neuter => table { + Sg => base_1+"ювало" ; + Pl => base_1+"ювали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"йований" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"йований" + } + } + }; + _ => error "Can't apply paradigm mkV125" + } ; + +mkV126 : Str -> V ; +mkV126 base = + case base of { + base_1+"няти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мім" ; + imperative2 = table { + Sg => base_1+"ми" ; + Pl => base_1+"міть" + } ; + infinitive = base_1+"няти" ; + participle = table { + Masc => table { + Sg => base_1+"няв" ; + Pl => base_1+"няли" + } ; + Fem => table { + Sg => base_1+"няла" ; + Pl => base_1+"няли" + } ; + Neuter => table { + Sg => base_1+"няло" ; + Pl => base_1+"няли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"нятий" + } + } + }; + _ => error "Can't apply paradigm mkV126" + } ; + +mkV127 : Str -> V ; +mkV127 base = + case base of { + base_1+"зити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зити" ; + Pl => base_1+"зим" + } ; + P2 => table { + Sg => base_1+"зиш" ; + Pl => base_1+"зите" + } ; + P3 => table { + Sg => base_1+"зить" ; + Pl => base_1+"зять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"зім" ; + imperative2 = table { + Sg => base_1+"зи" ; + Pl => base_1+"зіть" + } ; + infinitive = base_1+"зити" ; + participle = table { + Masc => table { + Sg => base_1+"зив" ; + Pl => base_1+"зили" + } ; + Fem => table { + Sg => base_1+"зила" ; + Pl => base_1+"зили" + } ; + Neuter => table { + Sg => base_1+"зило" ; + Pl => base_1+"зили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV127" + } ; + +mkV128 : Str -> V ; +mkV128 base = + case base of { + base_1+"зити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зити" ; + Pl => base_1+"зим" + } ; + P2 => table { + Sg => base_1+"зиш" ; + Pl => base_1+"зите" + } ; + P3 => table { + Sg => base_1+"зить" ; + Pl => base_1+"зять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"зьмо" ; + imperative2 = table { + Sg => base_1+"зь" ; + Pl => base_1+"зьте" + } ; + infinitive = base_1+"зити" ; + participle = table { + Masc => table { + Sg => base_1+"зив" ; + Pl => base_1+"зили" + } ; + Fem => table { + Sg => base_1+"зила" ; + Pl => base_1+"зили" + } ; + Neuter => table { + Sg => base_1+"зило" ; + Pl => base_1+"зили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV128" + } ; + +mkV129 : Str -> V ; +mkV129 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"деть"+base_2 ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дім"+base_2 ; + imperative2 = table { + Sg => base_1+"ди"+base_2 ; + Pl => base_1+"діть"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"шов"+base_2 ; + Pl => base_1+"шли"+base_2 + } ; + Fem => table { + Sg => base_1+"шла"+base_2 ; + Pl => base_1+"шли"+base_2 + } ; + Neuter => table { + Sg => base_1+"шло"+base_2 ; + Pl => base_1+"шли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV129" + } ; + +mkV130 : Str -> V ; +mkV130 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"ть"+base_2 ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо"+base_2 ; + imperative2 = table { + Sg => base_1+"дь"+base_2 ; + Pl => base_1+"дьте"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV130" + } ; + +mkV131 : Str -> V ; +mkV131 base = + case base of { + base_1+"ути"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо"+base_2 ; + imperative2 = table { + Sg => base_1+"ь"+base_2 ; + Pl => base_1+"ьте"+base_2 + } ; + infinitive = base_1+"ути"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ув"+base_2 ; + Pl => base_1+"ули"+base_2 + } ; + Fem => table { + Sg => base_1+"ула"+base_2 ; + Pl => base_1+"ули"+base_2 + } ; + Neuter => table { + Sg => base_1+"уло"+base_2 ; + Pl => base_1+"ули"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV131" + } ; + +mkV132 : Str -> V ; +mkV132 base = + case base of { + base_1+"гти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; + Pl => base_1+"жим" --guessed + } ; + P2 => table { + Sg => base_1+"жиш" ; --guessed + Pl => base_1+"жите" --guessed + } ; + P3 => table { + Sg => base_1+"жить" ; --guessed + Pl => base_1+"жать" --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"гти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жім" ; + imperative2 = table { + Sg => base_1+"жи" ; + Pl => base_1+"жіть" + } ; + infinitive = base_1+"гти" ; + participle = table { + Masc => table { + Sg => base_1+"г" ; + Pl => base_1+"гли" + } ; + Fem => table { + Sg => base_1+"гла" ; + Pl => base_1+"гли" + } ; + Neuter => table { + Sg => base_1+"гло" ; + Pl => base_1+"гли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV132" + } ; + +mkV133 : Str -> V ; +mkV133 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"е"+base_3+"ім" ; + imperative2 = table { + Sg => base_1+base_2+"е"+base_3+"и" ; + Pl => base_1+base_2+"е"+base_3+"іть" + } ; + infinitive = base_1+"і"+base_2+base_3+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3+"ав" ; + Pl => base_1+"і"+base_2+base_3+"али" + } ; + Fem => table { + Sg => base_1+"і"+base_2+base_3+"ала" ; + Pl => base_1+"і"+base_2+base_3+"али" + } ; + Neuter => table { + Sg => base_1+"і"+base_2+base_3+"ало" ; + Pl => base_1+"і"+base_2+base_3+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"і"+base_2+base_3+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV133" + } ; + +mkV134 : Str -> V ; +mkV134 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"ать"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо"+base_2 ; + imperative2 = table { + Sg => base_1+base_2 ; + Pl => base_1+"те"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV134" + } ; + +mkV135 : Str -> V ; +mkV135 base = + case base of { + base_1+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => base_1+"єм" --guessed + } ; + P2 => table { + Sg => base_1+"єш" ; --guessed + Pl => base_1+"єте" --guessed + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ваймо" ; --guessed + imperative2 = table { + Sg => base_1+"вай" ; --guessed + Pl => base_1+"вайте" --guessed + } ; + infinitive = base_1+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"вав" ; + Pl => base_1+"вали" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"вали" + } ; + Neuter => table { + Sg => base_1+"вало" ; + Pl => base_1+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ваний" --guessed + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ваний" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV135" + } ; + +mkV136 : Str -> V ; +mkV136 base = + case base of { + base_1+"ати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати"+base_2 ; + Pl => base_1+"ем"+base_2 + } ; + P2 => table { + Sg => base_1+"еш"+base_2 ; + Pl => base_1+"ете"+base_2 + } ; + P3 => table { + Sg => base_1+"еть"+base_2 ; + Pl => base_1+"уть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ав"+base_2 ; + Pl => base_1+"али"+base_2 + } ; + Fem => table { + Sg => base_1+"ала"+base_2 ; + Pl => base_1+"али"+base_2 + } ; + Neuter => table { + Sg => base_1+"ало"+base_2 ; + Pl => base_1+"али"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV136" + } ; + +mkV137 : Str -> V ; +mkV137 base = + case base of { + base_1+base_2@?+"ати"+base_3@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати"+base_3 ; + Pl => base_1+"е"+base_2+"ем"+base_3 + } ; + P2 => table { + Sg => base_1+"е"+base_2+"еш"+base_3 ; + Pl => base_1+"е"+base_2+"ете"+base_3 + } ; + P3 => table { + Sg => base_1+"е"+base_2+"еть"+base_3 ; + Pl => base_1+"е"+base_2+"уть"+base_3 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ати"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім"+base_3 ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и"+base_3 ; + Pl => base_1+"е"+base_2+"іть"+base_3 + } ; + infinitive = base_1+base_2+"ати"+base_3 ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ав"+base_3 ; + Pl => base_1+base_2+"али"+base_3 + } ; + Fem => table { + Sg => base_1+base_2+"ала"+base_3 ; + Pl => base_1+base_2+"али"+base_3 + } ; + Neuter => table { + Sg => base_1+base_2+"ало"+base_3 ; + Pl => base_1+base_2+"али"+base_3 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV137" + } ; + +mkV138 : Str -> V ; +mkV138 base = + case base of { + base_1+"ясти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ясти" ; + Pl => base_1+"енем" + } ; + P2 => table { + Sg => base_1+"енеш" ; + Pl => base_1+"енете" + } ; + P3 => table { + Sg => base_1+"ене" ; + Pl => base_1+"енуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"енім" ; + imperative2 = table { + Sg => base_1+"ени" ; + Pl => base_1+"еніть" + } ; + infinitive = base_1+"ясти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ятий" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV138" + } ; + +mkV139 : Str -> V ; +mkV139 base = + case base of { + base_1+"ести"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"едеть"+base_2 ; + Pl => base_1+"едуть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = nonExist ; + imperative2 = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1+"ести"+base_2 ; + participle = table { + Masc => table { + Sg => "ві"+base_1+base_2 ; + Pl => base_1+"ели"+base_2 + } ; + Fem => table { + Sg => base_1+"ела"+base_2 ; + Pl => base_1+"ели"+base_2 + } ; + Neuter => table { + Sg => base_1+"ело"+base_2 ; + Pl => base_1+"ели"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV139" + } ; + +mkV140 : Str -> V ; +mkV140 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"им" --guessed + } ; + P2 => table { + Sg => base_1+"иш" ; --guessed + Pl => base_1+"ите" --guessed + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"лять" + } + } + } ; + Perf => { Past = base_1+"ілий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"іти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; --guessed + imperative2 = table { + Sg => base_1+"и" ; --guessed + Pl => base_1+"іть" --guessed + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV140" + } ; + +mkV141 : Str -> V ; +mkV141 base = + case base of { + base_1+"няти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мім"+base_2 ; + imperative2 = table { + Sg => base_1+"ми"+base_2 ; + Pl => base_1+"міть"+base_2 + } ; + infinitive = base_1+"няти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"няв"+base_2 ; + Pl => base_1+"няли"+base_2 + } ; + Fem => table { + Sg => base_1+"няла"+base_2 ; + Pl => base_1+"няли"+base_2 + } ; + Neuter => table { + Sg => base_1+"няло"+base_2 ; + Pl => base_1+"няли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV141" + } ; + +mkV142 : Str -> V ; +mkV142 base = + case base of { + base_1+"ювати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => "будемо "+base_1+"ювати" + } ; + P2 => table { + Sg => "будеш "+base_1+"ювати" ; + Pl => "будете "+base_1+"ювати" + } ; + P3 => table { + Sg => "буде "+base_1+"ювати" ; + Pl => "будуть "+base_1+"ювати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"юймо" ; + imperative2 = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйте" + } ; + infinitive = base_1+"ювати" ; + participle = table { + Masc => table { + Sg => base_1+"ював" ; + Pl => base_1+"ювали" + } ; + Fem => table { + Sg => base_1+"ювала" ; + Pl => base_1+"ювали" + } ; + Neuter => table { + Sg => base_1+"ювало" ; + Pl => base_1+"ювали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ьований" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"йований" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV142" + } ; + +mkV143 : Str -> V ; +mkV143 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"ати"+base_4@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати"+base_4 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати"+base_4 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"е"+base_3+"ім"+base_4 ; + imperative2 = table { + Sg => base_1+base_2+"е"+base_3+"и"+base_4 ; + Pl => base_1+base_2+"е"+base_3+"іть"+base_4 + } ; + infinitive = base_1+"і"+base_2+base_3+"ати"+base_4 ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3+"ав"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } ; + Fem => table { + Sg => base_1+"і"+base_2+base_3+"ала"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } ; + Neuter => table { + Sg => base_1+"і"+base_2+base_3+"ало"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV143" + } ; + +mkV144 : Str -> V ; +mkV144 base = + case base of { + base_1+"ути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => "будемо "+base_1+"ути" + } ; + P2 => table { + Sg => "будеш "+base_1+"ути" ; + Pl => "будете "+base_1+"ути" + } ; + P3 => table { + Sg => "буде "+base_1+"ути" ; + Pl => "будуть "+base_1+"ути" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ути" ; + participle = table { + Masc => table { + Sg => base_1+"ув" ; + Pl => base_1+"ули" + } ; + Fem => table { + Sg => base_1+"ула" ; + Pl => base_1+"ули" + } ; + Neuter => table { + Sg => base_1+"уло" ; + Pl => base_1+"ули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"утий" + } + } + }; + _ => error "Can't apply paradigm mkV144" + } ; + +mkV145 : Str -> V ; +mkV145 base = + case base of { + base_1+base_2@?+"іти"+base_3@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"іти"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"че"+base_2+"ь"+base_3 ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = nonExist ; + imperative2 = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1+base_2+"іти"+base_3 ; + participle = table { + Masc => table { + Sg => nonExist ; + Pl => nonExist + } ; + Fem => table { + Sg => nonExist ; + Pl => nonExist + } ; + Neuter => table { + Sg => base_1+base_2+"іло"+base_3 ; + Pl => nonExist + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV145" + } ; + +mkV146 : Str -> V ; +mkV146 base = + case base of { + base_1@?+base_2+"увати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"увати" ; + Pl => "б"+base_1+"демо в"+base_2+"увати" + } ; + P2 => table { + Sg => "будеш "+base_1+base_2+"увати" ; + Pl => "б"+base_1+"дете в"+base_2+"увати" + } ; + P3 => table { + Sg => "б"+base_1+"де в"+base_2+"увати" ; + Pl => "будуть "+base_1+base_2+"увати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"уймо" ; + imperative2 = table { + Sg => base_1+base_2+"уй" ; + Pl => base_1+base_2+"уйте" + } ; + infinitive = base_1+base_2+"увати" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ував" ; + Pl => base_1+base_2+"ували" + } ; + Fem => table { + Sg => base_1+base_2+"увала" ; + Pl => base_1+base_2+"ували" + } ; + Neuter => table { + Sg => base_1+base_2+"увало" ; + Pl => base_1+base_2+"ували" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+base_2+"ований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV146" + } ; + +mkV147 : Str -> V ; +mkV147 base = + case base of { + base_1+"нути"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім"+base_2 ; + imperative2 = table { + Sg => base_1+"ни"+base_2 ; + Pl => base_1+"ніть"+base_2 + } ; + infinitive = base_1+"нути"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"нув"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV147" + } ; + +mkV148 : Str -> V ; +mkV148 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"увати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"увати" ; + Pl => base_1+"удемо б"+base_2+"увати" + } ; + P2 => table { + Sg => base_1+"удеш б"+base_2+"увати" ; + Pl => base_1+"удете б"+base_2+"увати" + } ; + P3 => table { + Sg => base_1+"уде б"+base_2+"увати" ; + Pl => base_1+"удуть б"+base_2+"увати" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"уймо" ; + imperative2 = table { + Sg => base_1+base_2+"уй" ; + Pl => base_1+base_2+"уйте" + } ; + infinitive = base_1+base_2+"увати" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"ував" ; + Pl => base_1+base_2+"ували" + } ; + Fem => table { + Sg => base_1+base_2+"увала" ; + Pl => base_1+base_2+"ували" + } ; + Neuter => table { + Sg => base_1+base_2+"увало" ; + Pl => base_1+base_2+"ували" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+base_2+"ований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV148" + } ; + +mkV149 : Str -> V ; +mkV149 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = base_1+"блий" ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ньмо" ; + imperative2 = table { + Sg => base_1+"нь" ; + Pl => base_1+"ньте" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1+"нув" ; + Pl => base_1+"нули" + } ; + Fem => table { + Sg => base_1+"нула" ; + Pl => base_1+"нули" + } ; + Neuter => table { + Sg => base_1+"нуло" ; + Pl => base_1+"нули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV149" + } ; + +mkV150 : Str -> V ; +mkV150 base = + case base of { + "с"+base_1+"е"+base_2@?+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "с"+base_1+"е"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "с"+base_1+"е"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "зі"+base_1+base_2+"ім" ; + imperative2 = table { + Sg => "зі"+base_1+base_2+"и" ; + Pl => "зі"+base_1+base_2+"іть" + } ; + infinitive = "с"+base_1+"е"+base_2+"ти" ; + participle = table { + Masc => table { + Sg => "с"+base_1+"е"+base_2 ; + Pl => "с"+base_1+"е"+base_2+"ли" + } ; + Fem => table { + Sg => "с"+base_1+"е"+base_2+"ла" ; + Pl => "с"+base_1+"е"+base_2+"ли" + } ; + Neuter => table { + Sg => "с"+base_1+"е"+base_2+"ло" ; + Pl => "с"+base_1+"е"+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "с"+base_1+"е"+base_2+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV150" + } ; + +mkV151 : Str -> V ; +mkV151 base = + case base of { + base_1+"з"+base_2@?+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"з"+base_2+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"з"+base_2+"ити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"з"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"з"+base_2+"и" ; + Pl => base_1+"з"+base_2+"іть" + } ; + infinitive = base_1+"з"+base_2+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"з"+base_2+"ив" ; + Pl => base_1+"з"+base_2+"или" + } ; + Fem => table { + Sg => base_1+"з"+base_2+"ила" ; + Pl => base_1+"з"+base_2+"или" + } ; + Neuter => table { + Sg => base_1+"з"+base_2+"ило" ; + Pl => base_1+"з"+base_2+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ж"+base_2+"жений" + } + } + }; + _ => error "Can't apply paradigm mkV151" + } ; + +mkV152 : Str -> V ; +mkV152 base = + case base of { + base_1+"іг"+base_2@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іг"+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іг"+base_2+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"же"+base_2+"ім" ; + imperative2 = table { + Sg => base_1+"же"+base_2+"и" ; + Pl => base_1+"же"+base_2+"іть" + } ; + infinitive = base_1+"іг"+base_2+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"іг"+base_2+"ав" ; + Pl => base_1+"іг"+base_2+"али" + } ; + Fem => table { + Sg => base_1+"іг"+base_2+"ала" ; + Pl => base_1+"іг"+base_2+"али" + } ; + Neuter => table { + Sg => base_1+"іг"+base_2+"ало" ; + Pl => base_1+"іг"+base_2+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"іг"+base_2+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV152" + } ; + +mkV153 : Str -> V ; +mkV153 base = + case base of { + base_1+base_2@?+"атис"+base_3@? => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"атис"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"атис"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"шім"+base_2+base_3 ; + imperative2 = table { + Sg => base_1+"ши"+base_2+base_3 ; + Pl => base_1+"шіть"+base_2+base_3 + } ; + infinitive = base_1+base_2+"атис"+base_3 ; + participle = table { + Masc => table { + Sg => base_1+base_2+"авс"+base_3 ; + Pl => base_1+base_2+"алис"+base_3 + } ; + Fem => table { + Sg => base_1+base_2+"алас"+base_3 ; + Pl => base_1+base_2+"алис"+base_3 + } ; + Neuter => table { + Sg => base_1+base_2+"алос"+base_3 ; + Pl => base_1+base_2+"алис"+base_3 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV153" + } ; + +mkV154 : Str -> V ; +mkV154 base = + case base of { + base_1+"у"+base_2@?+"ати"+base_3@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"у"+base_2+"ати"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"увати"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"о"+base_2+"уймо"+base_3 ; + imperative2 = table { + Sg => base_1+"о"+base_2+"уй"+base_3 ; + Pl => base_1+"о"+base_2+"уйте"+base_3 + } ; + infinitive = base_1+"у"+base_2+"ати"+base_3 ; + participle = table { + Masc => table { + Sg => base_1+"овува"+base_2+base_3 ; + Pl => base_1+"о"+base_2+"ували"+base_3 + } ; + Fem => table { + Sg => base_1+"о"+base_2+"увала"+base_3 ; + Pl => base_1+"о"+base_2+"ували"+base_3 + } ; + Neuter => table { + Sg => base_1+"о"+base_2+"увало"+base_3 ; + Pl => base_1+"о"+base_2+"ували"+base_3 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV154" + } ; + +mkV155 : Str -> V ; +mkV155 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV155" + } ; + +mkV156 : Str -> V ; +mkV156 base = + case base of { + base_1+"їти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти"+base_2 ; + Pl => base_1+"їм"+base_2 + } ; + P2 => table { + Sg => base_1+"їш"+base_2 ; + Pl => base_1+"їте"+base_2 + } ; + P3 => table { + Sg => base_1+"їть"+base_2 ; + Pl => base_1+"ять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"їти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"їв"+base_2 ; + Pl => base_1+"їли"+base_2 + } ; + Fem => table { + Sg => base_1+"їла"+base_2 ; + Pl => base_1+"їли"+base_2 + } ; + Neuter => table { + Sg => base_1+"їло"+base_2 ; + Pl => base_1+"їли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV156" + } ; + +mkV157 : Str -> V ; +mkV157 base = + case base of { + base_1+"ювати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ювати" ; + Pl => base_1+"юєм" + } ; + P2 => table { + Sg => base_1+"юєш" ; + Pl => base_1+"юєте" + } ; + P3 => table { + Sg => base_1+"ює" ; + Pl => base_1+"юють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"юймо" ; + imperative2 = table { + Sg => base_1+"юй" ; + Pl => base_1+"юйте" + } ; + infinitive = base_1+"ювати" ; + participle = table { + Masc => table { + Sg => base_1+"ював" ; + Pl => base_1+"ювали" + } ; + Fem => table { + Sg => base_1+"ювала" ; + Pl => base_1+"ювали" + } ; + Neuter => table { + Sg => base_1+"ювало" ; + Pl => base_1+"ювали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"йований" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV157" + } ; + +mkV158 : Str -> V ; +mkV158 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"ть" ; + Pl => nonExist + } + } + } ; + Perf => { Past = base_1+"лий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"ти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо" ; --guessed + imperative2 = table { + Sg => base_1+"дь" ; --guessed + Pl => base_1+"дьте" --guessed + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; --guessed + Pl => base_1+"ли" --guessed + } ; + Fem => table { + Sg => base_1+"ла" ; --guessed + Pl => base_1+"ли" --guessed + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" --guessed + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV158" + } ; + +mkV159 : Str -> V ; +mkV159 base = + case base of { + base_1+"вати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати"+base_2 ; + Pl => "будемо "+base_1+"вати"+base_2 + } ; + P2 => table { + Sg => "будеш "+base_1+"вати"+base_2 ; + Pl => "будете "+base_1+"вати"+base_2 + } ; + P3 => table { + Sg => "буде "+base_1+"вати"+base_2 ; + Pl => "будуть "+base_1+"вати"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"вати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"вав"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Fem => table { + Sg => base_1+"вала"+base_2 ; + Pl => base_1+"вали"+base_2 + } ; + Neuter => table { + Sg => base_1+"вало"+base_2 ; + Pl => base_1+"вали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV159" + } ; + +mkV160 : Str -> V ; +mkV160 base = + case base of { + "с"+base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "с"+base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "c"+base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "c"+base_1+"ім"+base_2 ; + imperative2 = table { + Sg => "c"+base_1+"и"+base_2 ; + Pl => "c"+base_1+"іть"+base_2 + } ; + infinitive = "с"+base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => "c"+base_1+"ив"+base_2 ; + Pl => "c"+base_1+"или"+base_2 + } ; + Fem => table { + Sg => "c"+base_1+"ила"+base_2 ; + Pl => "c"+base_1+"или"+base_2 + } ; + Neuter => table { + Sg => "c"+base_1+"ило"+base_2 ; + Pl => "c"+base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV160" + } ; + +mkV161 : Str -> V ; +mkV161 base = + case base of { + base_1+"ікти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ікти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ікти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"очім" ; + imperative2 = table { + Sg => base_1+"очи" ; + Pl => base_1+"очіть" + } ; + infinitive = base_1+"ікти" ; + participle = table { + Masc => table { + Sg => base_1+"ок" ; + Pl => base_1+"окли" + } ; + Fem => table { + Sg => base_1+"окла" ; + Pl => base_1+"окли" + } ; + Neuter => table { + Sg => base_1+"окло" ; + Pl => base_1+"окли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV161" + } ; + +mkV162 : Str -> V ; +mkV162 base = + case base of { + base_1+"огти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"огти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"огти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ожім"+base_2 ; + imperative2 = table { + Sg => base_1+"ожи"+base_2 ; + Pl => base_1+"ожіть"+base_2 + } ; + infinitive = base_1+"огти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"іг"+base_2 ; + Pl => base_1+"огли"+base_2 + } ; + Fem => table { + Sg => base_1+"огла"+base_2 ; + Pl => base_1+"огли"+base_2 + } ; + Neuter => table { + Sg => base_1+"огло"+base_2 ; + Pl => base_1+"огли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV162" + } ; + +mkV163 : Str -> V ; +mkV163 base = + case base of { + base_1+"о"+base_2@?+"ти"+base_3@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ти"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"о"+base_2+"ти"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"о"+base_2+"тім"+base_3 ; + imperative2 = table { + Sg => base_1+"о"+base_2+"ти"+base_3 ; + Pl => base_1+"о"+base_2+"тіть"+base_3 + } ; + infinitive = base_1+"о"+base_2+"ти"+base_3 ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3 ; + Pl => base_1+"о"+base_2+"ли"+base_3 + } ; + Fem => table { + Sg => base_1+"о"+base_2+"ла"+base_3 ; + Pl => base_1+"о"+base_2+"ли"+base_3 + } ; + Neuter => table { + Sg => base_1+"о"+base_2+"ло"+base_3 ; + Pl => base_1+"о"+base_2+"ли"+base_3 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV163" + } ; + +mkV164 : Str -> V ; +mkV164 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"тий" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV164" + } ; + +mkV165 : Str -> V ; +mkV165 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"є" ; --guessed + Pl => base_1+"ють" --guessed + } + } + } ; + Perf => { Past = base_1+"лий" ; --guessed + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо" ; + imperative2 = table { + Sg => base_1+"дь" ; + Pl => base_1+"дьте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV165" + } ; + +mkV166 : Str -> V ; +mkV166 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"ать"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV166" + } ; + +mkV167 : Str -> V ; +mkV167 base = + case base of { + base_1+"огти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"огти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"огти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ожмо" ; + imperative2 = table { + Sg => base_1+"ож" ; + Pl => base_1+"ожте" + } ; + infinitive = base_1+"огти" ; + participle = table { + Masc => table { + Sg => base_1+"іг" ; + Pl => base_1+"огли" + } ; + Fem => table { + Sg => base_1+"огла" ; + Pl => base_1+"огли" + } ; + Neuter => table { + Sg => base_1+"огло" ; + Pl => base_1+"огли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV167" + } ; + +mkV168 : Str -> V ; +mkV168 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1+"нув" ; + Pl => base_1+"нули" + } ; + Fem => table { + Sg => base_1+"нула" ; + Pl => base_1+"нули" + } ; + Neuter => table { + Sg => base_1+"нуло" ; + Pl => base_1+"нули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV168" + } ; + +mkV169 : Str -> V ; +mkV169 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім"+base_2 ; + imperative2 = table { + Sg => base_1+"ни"+base_2 ; + Pl => base_1+"ніть"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"нув"+base_2 ; + Pl => base_1+"нули"+base_2 + } ; + Fem => table { + Sg => base_1+"нула"+base_2 ; + Pl => base_1+"нули"+base_2 + } ; + Neuter => table { + Sg => base_1+"нуло"+base_2 ; + Pl => base_1+"нули"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV169" + } ; + +mkV170 : Str -> V ; +mkV170 base = + case base of { + base_1+"сти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дім"+base_2 ; + imperative2 = table { + Sg => base_1+"ди"+base_2 ; + Pl => base_1+"діть"+base_2 + } ; + infinitive = base_1+"сти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV170" + } ; + +mkV171 : Str -> V ; +mkV171 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"яти"+base_2 ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV171" + } ; + +mkV172 : Str -> V ; +mkV172 base = + case base of { + base_1+"тіти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тіти" ; + Pl => base_1+"очем" + } ; + P2 => table { + Sg => base_1+"очеш" ; + Pl => base_1+"очете" + } ; + P3 => table { + Sg => base_1+"оче" ; + Pl => base_1+"очуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"отім" ; + imperative2 = table { + Sg => base_1+"оти" ; + Pl => base_1+"отіть" + } ; + infinitive = base_1+"тіти" ; + participle = table { + Masc => table { + Sg => base_1+"тів" ; + Pl => base_1+"тіли" + } ; + Fem => table { + Sg => base_1+"тіла" ; + Pl => base_1+"тіли" + } ; + Neuter => table { + Sg => base_1+"тіло" ; + Pl => base_1+"тіли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV172" + } ; + +mkV173 : Str -> V ; +mkV173 base = + case base of { + base_1+"зати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"зати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жім"+base_2 ; + imperative2 = table { + Sg => base_1+"жи"+base_2 ; + Pl => base_1+"жіть"+base_2 + } ; + infinitive = base_1+"зати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"зав"+base_2 ; + Pl => base_1+"зали"+base_2 + } ; + Fem => table { + Sg => base_1+"зала"+base_2 ; + Pl => base_1+"зали"+base_2 + } ; + Neuter => table { + Sg => base_1+"зало"+base_2 ; + Pl => base_1+"зали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV173" + } ; + +mkV174 : Str -> V ; +mkV174 base = + case base of { + base_1+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати" ; + Pl => base_1+"аєм" + } ; + P2 => table { + Sg => base_1+"аєш" ; + Pl => base_1+"аєте" + } ; + P3 => table { + Sg => base_1+"ає" ; + Pl => base_1+"ають" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"аймо" ; + imperative2 = table { + Sg => base_1+"ай" ; + Pl => base_1+"айте" + } ; + infinitive = base_1+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ав" ; + Pl => base_1+"али" + } ; + Fem => table { + Sg => base_1+"ала" ; + Pl => base_1+"али" + } ; + Neuter => table { + Sg => base_1+"ало" ; + Pl => base_1+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV174" + } ; + +mkV175 : Str -> V ; +mkV175 base = + case base of { + base_1+"ягти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ягти" ; + Pl => base_1+"яжем" + } ; + P2 => table { + Sg => base_1+"яжеш" ; + Pl => base_1+"яжете" + } ; + P3 => table { + Sg => base_1+"яже" ; + Pl => base_1+"яжуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ягти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"яжім" ; + imperative2 = table { + Sg => base_1+"яжи" ; + Pl => base_1+"яжіть" + } ; + infinitive = base_1+"ягти" ; + participle = table { + Masc => table { + Sg => base_1+"іг" ; + Pl => base_1+"ягли" + } ; + Fem => table { + Sg => base_1+"ягла" ; + Pl => base_1+"ягли" + } ; + Neuter => table { + Sg => base_1+"ягло" ; + Pl => base_1+"ягли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"яжений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"яжений" + } + } + }; + _ => error "Can't apply paradigm mkV175" + } ; + +mkV176 : Str -> V ; +mkV176 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"те"+base_3+"ім" ; + imperative2 = table { + Sg => base_1+base_2+"те"+base_3+"и" ; + Pl => base_1+base_2+"те"+base_3+"іть" + } ; + infinitive = base_1+"і"+base_2+base_3+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3+"ав" ; + Pl => base_1+"і"+base_2+base_3+"али" + } ; + Fem => table { + Sg => base_1+"і"+base_2+base_3+"ала" ; + Pl => base_1+"і"+base_2+base_3+"али" + } ; + Neuter => table { + Sg => base_1+"і"+base_2+base_3+"ало" ; + Pl => base_1+"і"+base_2+base_3+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"і"+base_2+base_3+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV176" + } ; + +mkV177 : Str -> V ; +mkV177 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ать" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; --guessed + imperative2 = table { + Sg => base_1+"ь" ; --guessed + Pl => base_1+"ьте" --guessed + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"жений" --guessed + } + } + }; + _ => error "Can't apply paradigm mkV177" + } ; + +mkV178 : Str -> V ; +mkV178 base = + case base of { + base_1+"і"+base_2@?+base_3@?+"ати"+base_4@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати"+base_4 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"і"+base_2+base_3+"ати"+base_4 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"о"+base_2+"е"+base_3+"ім"+base_4 ; + imperative2 = table { + Sg => base_1+"о"+base_2+"е"+base_3+"и"+base_4 ; + Pl => base_1+"о"+base_2+"е"+base_3+"іть"+base_4 + } ; + infinitive = base_1+"і"+base_2+base_3+"ати"+base_4 ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3+"ав"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } ; + Fem => table { + Sg => base_1+"і"+base_2+base_3+"ала"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } ; + Neuter => table { + Sg => base_1+"і"+base_2+base_3+"ало"+base_4 ; + Pl => base_1+"і"+base_2+base_3+"али"+base_4 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV178" + } ; + +mkV179 : Str -> V ; +mkV179 base = + case base of { + base_1+"яти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"імім"+base_2 ; + imperative2 = table { + Sg => base_1+"іми"+base_2 ; + Pl => base_1+"іміть"+base_2 + } ; + infinitive = base_1+"яти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"яв"+base_2 ; + Pl => base_1+"яли"+base_2 + } ; + Fem => table { + Sg => base_1+"яла"+base_2 ; + Pl => base_1+"яли"+base_2 + } ; + Neuter => table { + Sg => base_1+"яло"+base_2 ; + Pl => base_1+"яли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV179" + } ; + +mkV180 : Str -> V ; +mkV180 base = + case base of { + base_1+"ити"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити"+base_2 ; + Pl => base_1+"им"+base_2 + } ; + P2 => table { + Sg => base_1+"иш"+base_2 ; + Pl => base_1+"ите"+base_2 + } ; + P3 => table { + Sg => base_1+"ить"+base_2 ; + Pl => base_1+"ять"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "зо"+base_1+"ити"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо"+base_2 ; + imperative2 = table { + Sg => base_1+base_2 ; + Pl => base_1+"те"+base_2 + } ; + infinitive = base_1+"ити"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ив"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Fem => table { + Sg => base_1+"ила"+base_2 ; + Pl => base_1+"или"+base_2 + } ; + Neuter => table { + Sg => base_1+"ило"+base_2 ; + Pl => base_1+"или"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV180" + } ; + +mkV181 : Str -> V ; +mkV181 base = + case base of { + base_1+"нути" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = base_1+"лий" ; + Pres = table { + P1 => table { + Sg => base_1+"нути" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ньмо" ; + imperative2 = table { + Sg => base_1+"нь" ; + Pl => base_1+"ньте" + } ; + infinitive = base_1+"нути" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV181" + } ; + +mkV182 : Str -> V ; +mkV182 base = + case base of { + "м"+base_1+"лити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "м"+base_1+"лити" ; + Pl => "н"+base_1+"жем" + } ; + P2 => table { + Sg => "н"+base_1+"жеш" ; + Pl => "н"+base_1+"жете" + } ; + P3 => table { + Sg => "н"+base_1+"же" ; + Pl => "н"+base_1+"жуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "н"+base_1+"жім" ; + imperative2 = table { + Sg => "н"+base_1+"жи" ; + Pl => "н"+base_1+"жіть" + } ; + infinitive = "м"+base_1+"лити" ; + participle = table { + Masc => table { + Sg => "н"+base_1+"зав" ; + Pl => "н"+base_1+"зали" + } ; + Fem => table { + Sg => "н"+base_1+"зала" ; + Pl => "н"+base_1+"зали" + } ; + Neuter => table { + Sg => "н"+base_1+"зало" ; + Pl => "н"+base_1+"зали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => "н"+base_1+"заний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV182" + } ; + +mkV183 : Str -> V ; +mkV183 base = + case base of { + base_1+"е"+base_2@?+"ти"+base_3@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"е"+base_2+"ти"+base_3 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"е"+base_2+"ім"+base_3 ; + imperative2 = table { + Sg => base_1+"е"+base_2+"и"+base_3 ; + Pl => base_1+"е"+base_2+"іть"+base_3 + } ; + infinitive = base_1+"е"+base_2+"ти"+base_3 ; + participle = table { + Masc => table { + Sg => base_1+"і"+base_2+base_3 ; + Pl => base_1+"е"+base_2+"ли"+base_3 + } ; + Fem => table { + Sg => base_1+"е"+base_2+"ла"+base_3 ; + Pl => base_1+"е"+base_2+"ли"+base_3 + } ; + Neuter => table { + Sg => base_1+"е"+base_2+"ло"+base_3 ; + Pl => base_1+"е"+base_2+"ли"+base_3 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV183" + } ; + +mkV184 : Str -> V ; +mkV184 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => base_1+"нем"+base_2 + } ; + P2 => table { + Sg => base_1+"неш"+base_2 ; + Pl => base_1+"нете"+base_2 + } ; + P3 => table { + Sg => base_1+"неть"+base_2 ; + Pl => base_1+"нуть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; --guessed + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім"+base_2 ; + imperative2 = table { + Sg => base_1+"ни"+base_2 ; + Pl => base_1+"ніть"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV184" + } ; + +mkV185 : Str -> V ; +mkV185 base = + case base of { + base_1+"сти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => base_1+"тем" + } ; + P2 => table { + Sg => base_1+"теш" ; + Pl => base_1+"тете" + } ; + P3 => table { + Sg => base_1+"те" ; + Pl => base_1+"туть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"тім" ; + imperative2 = table { + Sg => base_1+"ти" ; + Pl => base_1+"тіть" + } ; + infinitive = base_1+"сти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV185" + } ; + +mkV186 : Str -> V ; +mkV186 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => base_1+"нем"+base_2 --guessed + } ; + P2 => table { + Sg => base_1+"неш"+base_2 ; --guessed + Pl => base_1+"нете"+base_2 --guessed + } ; + P3 => table { + Sg => base_1+"неть"+base_2 ; --guessed + Pl => base_1+"нуть"+base_2 --guessed + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; --guessed + imperative2 = table { + Sg => base_1+"и"+base_2 ; --guessed + Pl => base_1+"іть"+base_2 --guessed + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV186" + } ; + +mkV187 : Str -> V ; +mkV187 base = + case base of { + base_1+"ати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"мо"+base_2 ; + imperative2 = table { + Sg => base_1+base_2 ; + Pl => base_1+"те"+base_2 + } ; + infinitive = base_1+"ати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ав"+base_2 ; + Pl => base_1+"али"+base_2 + } ; + Fem => table { + Sg => base_1+"ала"+base_2 ; + Pl => base_1+"али"+base_2 + } ; + Neuter => table { + Sg => base_1+"ало"+base_2 ; + Pl => base_1+"али"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV187" + } ; + +mkV188 : Str -> V ; +mkV188 base = + case base of { + base_1+"тати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"тати" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чмо" ; + imperative2 = table { + Sg => base_1+"ч" ; + Pl => base_1+"чте" + } ; + infinitive = base_1+"тати" ; + participle = table { + Masc => table { + Sg => base_1+"тав" ; + Pl => base_1+"тали" + } ; + Fem => table { + Sg => base_1+"тала" ; + Pl => base_1+"тали" + } ; + Neuter => table { + Sg => base_1+"тало" ; + Pl => base_1+"тали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"таний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV188" + } ; + +mkV189 : Str -> V ; +mkV189 base = + case base of { + base_1+"кти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"кти" ; + Pl => base_1+"чем" + } ; + P2 => table { + Sg => base_1+"чеш" ; + Pl => base_1+"чете" + } ; + P3 => table { + Sg => base_1+"че" ; + Pl => base_1+"чуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"кти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"чім" ; + imperative2 = table { + Sg => base_1+"чи" ; + Pl => base_1+"чіть" + } ; + infinitive = base_1+"кти" ; + participle = table { + Masc => table { + Sg => base_1+"к" ; + Pl => base_1+"кли" + } ; + Fem => table { + Sg => base_1+"кла" ; + Pl => base_1+"кли" + } ; + Neuter => table { + Sg => base_1+"кло" ; + Pl => base_1+"кли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"чений" + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"чений" + } + } + }; + _ => error "Can't apply paradigm mkV189" + } ; + +mkV190 : Str -> V ; +mkV190 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"нем" + } ; + P2 => table { + Sg => base_1+"неш" ; + Pl => base_1+"нете" + } ; + P3 => table { + Sg => base_1+"не" ; + Pl => base_1+"нуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"нув" ; + Pl => base_1+"нули" + } ; + Fem => table { + Sg => base_1+"нула" ; + Pl => base_1+"нули" + } ; + Neuter => table { + Sg => base_1+"нуло" ; + Pl => base_1+"нули" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"нений" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV190" + } ; + +mkV191 : Str -> V ; +mkV191 base = + case base of { + base_1+"ести"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ести"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"едім"+base_2 ; + imperative2 = table { + Sg => base_1+"еди"+base_2 ; + Pl => base_1+"едіть"+base_2 + } ; + infinitive = base_1+"ести"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ів"+base_2 ; + Pl => base_1+"ели"+base_2 + } ; + Fem => table { + Sg => base_1+"ела"+base_2 ; + Pl => base_1+"ели"+base_2 + } ; + Neuter => table { + Sg => base_1+"ело"+base_2 ; + Pl => base_1+"ели"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV191" + } ; + +mkV192 : Str -> V ; +mkV192 base = + case base of { + base_1+"віти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ріти" ; + Pl => base_1+"рим" + } ; + P2 => table { + Sg => base_1+"риш" ; + Pl => base_1+"рите" + } ; + P3 => table { + Sg => base_1+"рить" ; + Pl => base_1+"рять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"рім" ; + imperative2 = table { + Sg => base_1+"ри" ; + Pl => base_1+"ріть" + } ; + infinitive = base_1+"віти" ; + participle = table { + Masc => table { + Sg => base_1+"рів" ; + Pl => base_1+"ріли" + } ; + Fem => table { + Sg => base_1+"ріла" ; + Pl => base_1+"ріли" + } ; + Neuter => table { + Sg => base_1+"ріло" ; + Pl => base_1+"ріли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV192" + } ; + +mkV193 : Str -> V ; +mkV193 base = + case base of { + base_1+"сти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"сти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"жмо"+base_2 ; + imperative2 = table { + Sg => base_1+"ж"+base_2 ; + Pl => base_1+"жте"+base_2 + } ; + infinitive = base_1+"сти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV193" + } ; + +mkV194 : Str -> V ; +mkV194 base = + case base of { + base_1+"ити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ити" ; + Pl => "будемо "+base_1+"ити" + } ; + P2 => table { + Sg => "будеш "+base_1+"ити" ; + Pl => "будете "+base_1+"ити" + } ; + P3 => table { + Sg => "буде "+base_1+"ити" ; + Pl => "будуть "+base_1+"ити" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ьмо" ; + imperative2 = table { + Sg => base_1+"ь" ; + Pl => base_1+"ьте" + } ; + infinitive = base_1+"ити" ; + participle = table { + Masc => table { + Sg => base_1+"ив" ; + Pl => base_1+"или" + } ; + Fem => table { + Sg => base_1+"ила" ; + Pl => base_1+"или" + } ; + Neuter => table { + Sg => base_1+"ило" ; + Pl => base_1+"или" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV194" + } ; + +mkV195 : Str -> V ; +mkV195 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV195" + } ; + +mkV196 : Str -> V ; +mkV196 base = + case base of { + base_1+"іти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти" ; + Pl => base_1+"ем" + } ; + P2 => table { + Sg => base_1+"еш" ; + Pl => base_1+"ете" + } ; + P3 => table { + Sg => base_1+"е" ; + Pl => base_1+"уть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"іти" ; + participle = table { + Masc => table { + Sg => base_1+"ів" ; + Pl => base_1+"іли" + } ; + Fem => table { + Sg => base_1+"іла" ; + Pl => base_1+"іли" + } ; + Neuter => table { + Sg => base_1+"іло" ; + Pl => base_1+"іли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV196" + } ; + +mkV197 : Str -> V ; +mkV197 base = + case base of { + "повилазити" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "повилазити" ; + Pl => "or collective subject representing all" + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "повилазити" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "повилазьмо" ; + imperative2 = table { + Sg => nonExist ; + Pl => "повилазьте" + } ; + infinitive = "повилазити" ; + participle = table { + Masc => table { + Sg => "повилазив" ; + Pl => "повилазили" + } ; + Fem => table { + Sg => "повилазила" ; + Pl => "повилазили" + } ; + Neuter => table { + Sg => "повилазило" ; + Pl => "повилазили" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV197" + } ; + +mkV198 : Str -> V ; +mkV198 base = + case base of { + base_1+base_2@?+"йняти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"йняти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"йняти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"н"+base_2+"мім" ; + imperative2 = table { + Sg => base_1+"н"+base_2+"ми" ; + Pl => base_1+"н"+base_2+"міть" + } ; + infinitive = base_1+base_2+"йняти" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"йняв" ; + Pl => base_1+base_2+"йняли" + } ; + Fem => table { + Sg => base_1+base_2+"йняла" ; + Pl => base_1+base_2+"йняли" + } ; + Neuter => table { + Sg => base_1+base_2+"йняло" ; + Pl => base_1+base_2+"йняли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV198" + } ; + +mkV199 : Str -> V ; +mkV199 base = + case base of { + base_1+"у"+base_2@(?+?)+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"у"+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => "буде "+base_1+"у"+base_2+"ти" ; + Pl => "будуть "+base_1+"у"+base_2+"ти" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = nonExist ; + imperative2 = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1+"у"+base_2+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"у"+base_2+"в" ; + Pl => base_1+"у"+base_2+"ли" + } ; + Fem => table { + Sg => base_1+"у"+base_2+"ла" ; + Pl => base_1+"у"+base_2+"ли" + } ; + Neuter => table { + Sg => base_1+"у"+base_2+"ло" ; + Pl => base_1+"у"+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"о"+base_2+"ний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV199" + } ; + +mkV200 : Str -> V ; +mkV200 base = + case base of { + base_1+"ймати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ймати"+base_2 ; + Pl => base_1+"ймаєм"+base_2 + } ; + P2 => table { + Sg => base_1+"ймаєш"+base_2 ; + Pl => base_1+"ймаєте"+base_2 + } ; + P3 => table { + Sg => base_1+"ймаєть"+base_2 ; + Pl => base_1+"ймають"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"няти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймаймо"+base_2 ; + imperative2 = table { + Sg => base_1+"ймай"+base_2 ; + Pl => base_1+"ймайте"+base_2 + } ; + infinitive = base_1+"ймати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ймав"+base_2 ; + Pl => base_1+"ймали"+base_2 + } ; + Fem => table { + Sg => base_1+"ймала"+base_2 ; + Pl => base_1+"ймали"+base_2 + } ; + Neuter => table { + Sg => base_1+"ймало"+base_2 ; + Pl => base_1+"ймали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV200" + } ; + +mkV201 : Str -> V ; +mkV201 base = + case base of { + base_1+"стати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"стати" ; + Pl => base_1+"щем" + } ; + P2 => table { + Sg => base_1+"щеш" ; + Pl => base_1+"щете" + } ; + P3 => table { + Sg => base_1+"ще" ; + Pl => base_1+"щуть" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"щім" ; + imperative2 = table { + Sg => base_1+"щи" ; + Pl => base_1+"щіть" + } ; + infinitive = base_1+"стати" ; + participle = table { + Masc => table { + Sg => base_1+"став" ; + Pl => base_1+"стали" + } ; + Fem => table { + Sg => base_1+"стала" ; + Pl => base_1+"стали" + } ; + Neuter => table { + Sg => base_1+"стало" ; + Pl => base_1+"стали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV201" + } ; + +mkV202 : Str -> V ; +mkV202 base = + case base of { + base_1+"ти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти"+base_2 ; + Pl => "будемо "+base_1+"ти"+base_2 + } ; + P2 => table { + Sg => "будеш "+base_1+"ти"+base_2 ; + Pl => "будете "+base_1+"ти"+base_2 + } ; + P3 => table { + Sg => "буде "+base_1+"ти"+base_2 ; + Pl => "будуть "+base_1+"ти"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо"+base_2 ; + imperative2 = table { + Sg => base_1+"й"+base_2 ; + Pl => base_1+"йте"+base_2 + } ; + infinitive = base_1+"ти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"в"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV202" + } ; + +mkV203 : Str -> V ; +mkV203 base = + case base of { + base_1+"їтися" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"їти" ; + Pl => base_1+"їмся" + } ; + P2 => table { + Sg => base_1+"їшся" ; + Pl => base_1+"їтеся" + } ; + P3 => table { + Sg => base_1+"їться" ; + Pl => base_1+"яться" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"їмся" ; + imperative2 = table { + Sg => base_1+"їся" ; + Pl => base_1+"їться" + } ; + infinitive = base_1+"їтися" ; + participle = table { + Masc => table { + Sg => base_1+"ївся" ; + Pl => base_1+"їлися" + } ; + Fem => table { + Sg => base_1+"їлася" ; + Pl => base_1+"їлися" + } ; + Neuter => table { + Sg => base_1+"їлося" ; + Pl => base_1+"їлися" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV203" + } ; + +mkV204 : Str -> V ; +mkV204 base = + case base of { + base_1+"іти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"іти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім"+base_2 ; + imperative2 = table { + Sg => base_1+"и"+base_2 ; + Pl => base_1+"іть"+base_2 + } ; + infinitive = base_1+"іти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ів"+base_2 ; + Pl => base_1+"іли"+base_2 + } ; + Fem => table { + Sg => base_1+"іла"+base_2 ; + Pl => base_1+"іли"+base_2 + } ; + Neuter => table { + Sg => base_1+"іло"+base_2 ; + Pl => base_1+"іли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV204" + } ; + +mkV205 : Str -> V ; +mkV205 base = + case base of { + "впісят"+base_1+"сь" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "впісят"+base_1+"сь" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "заб"+base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "заб"+base_1+"ймо" ; + imperative2 = table { + Sg => "заб"+base_1+"й" ; + Pl => "заб"+base_1+"йте" + } ; + infinitive = "впісят"+base_1+"сь" ; + participle = table { + Masc => table { + Sg => "заб"+base_1+"в" ; + Pl => "заб"+base_1+"ли" + } ; + Fem => table { + Sg => "заб"+base_1+"ла" ; + Pl => "заб"+base_1+"ли" + } ; + Neuter => table { + Sg => "заб"+base_1+"ло" ; + Pl => "заб"+base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => "заб"+base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV205" + } ; + +mkV206 : Str -> V ; +mkV206 base = + case base of { + base_1+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"яти" ; + Pl => base_1+"им" + } ; + P2 => table { + Sg => base_1+"иш" ; + Pl => base_1+"ите" + } ; + P3 => table { + Sg => base_1+"ить" ; + Pl => base_1+"ять" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"яти" ; + participle = table { + Masc => table { + Sg => base_1+"яв" ; + Pl => base_1+"яли" + } ; + Fem => table { + Sg => base_1+"яла" ; + Pl => base_1+"яли" + } ; + Neuter => table { + Sg => base_1+"яло" ; + Pl => base_1+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV206" + } ; + +mkV207 : Str -> V ; +mkV207 base = + case base of { + "в"+base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "в"+base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = "у"+base_1+"лий" ; + Pres = table { + P1 => table { + Sg => "в"+base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "в"+base_1+"ймо" ; + imperative2 = table { + Sg => "в"+base_1+"й" ; + Pl => "в"+base_1+"йте" + } ; + infinitive = "в"+base_1+"ти" ; + participle = table { + Masc => table { + Sg => "в"+base_1+"в" ; + Pl => "в"+base_1+"ли" + } ; + Fem => table { + Sg => "в"+base_1+"ла" ; + Pl => "в"+base_1+"ли" + } ; + Neuter => table { + Sg => "в"+base_1+"ло" ; + Pl => "в"+base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV207" + } ; + +mkV208 : Str -> V ; +mkV208 base = + case base of { + base_1+"хати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"хати"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дьмо"+base_2 ; + imperative2 = table { + Sg => nonExist ; + Pl => base_1+"дьте"+base_2 + } ; + infinitive = base_1+"хати"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"хав"+base_2 ; + Pl => base_1+"хали"+base_2 + } ; + Fem => table { + Sg => base_1+"хала"+base_2 ; + Pl => base_1+"хали"+base_2 + } ; + Neuter => table { + Sg => base_1+"хало"+base_2 ; + Pl => base_1+"хали"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV208" + } ; + +mkV209 : Str -> V ; +mkV209 base = + case base of { + base_1+base_2@?+"яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"і"+base_2+"нім" ; + imperative2 = table { + Sg => base_1+"і"+base_2+"ни" ; + Pl => base_1+"і"+base_2+"ніть" + } ; + infinitive = base_1+base_2+"яти" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"яв" ; + Pl => base_1+base_2+"яли" + } ; + Fem => table { + Sg => base_1+base_2+"яла" ; + Pl => base_1+base_2+"яли" + } ; + Neuter => table { + Sg => base_1+base_2+"яло" ; + Pl => base_1+base_2+"яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+base_2+"ятий" + } + } + }; + _ => error "Can't apply paradigm mkV209" + } ; + +mkV210 : Str -> V ; +mkV210 base = + case base of { + base_1+"екти"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"екти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"екти"+base_2 ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ечім"+base_2 ; + imperative2 = table { + Sg => base_1+"ечи"+base_2 ; + Pl => base_1+"ечіть"+base_2 + } ; + infinitive = base_1+"екти"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+"ік"+base_2 ; + Pl => base_1+"екли"+base_2 + } ; + Fem => table { + Sg => base_1+"екла"+base_2 ; + Pl => base_1+"екли"+base_2 + } ; + Neuter => table { + Sg => base_1+"екло"+base_2 ; + Pl => base_1+"екли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV210" + } ; + +mkV211 : Str -> V ; +mkV211 base = + case base of { + base_1+"ві"+base_2@?+base_3@?+"ати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ві"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ві"+base_2+base_3+"ати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+base_2+"е"+base_3+"ім" ; + imperative2 = table { + Sg => base_1+base_2+"е"+base_3+"и" ; + Pl => base_1+base_2+"е"+base_3+"іть" + } ; + infinitive = base_1+"ві"+base_2+base_3+"ати" ; + participle = table { + Masc => table { + Sg => base_1+"ві"+base_2+base_3+"ав" ; + Pl => base_1+"ві"+base_2+base_3+"али" + } ; + Fem => table { + Sg => base_1+"ві"+base_2+base_3+"ала" ; + Pl => base_1+"ві"+base_2+base_3+"али" + } ; + Neuter => table { + Sg => base_1+"ві"+base_2+base_3+"ало" ; + Pl => base_1+"ві"+base_2+base_3+"али" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ві"+base_2+base_3+"аний" + } + } + }; + _ => error "Can't apply paradigm mkV211" + } ; + +mkV212 : Str -> V ; +mkV212 base = + case base of { + base_1+"нути"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"нути"+base_2 ; + Pl => base_1+"нем"+base_2 + } ; + P2 => table { + Sg => base_1+"неш"+base_2 ; + Pl => base_1+"нете"+base_2 + } ; + P3 => table { + Sg => base_1+"неть"+base_2 ; + Pl => base_1+"нуть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім"+base_2 ; + imperative2 = table { + Sg => base_1+"ни"+base_2 ; + Pl => base_1+"ніть"+base_2 + } ; + infinitive = base_1+"нути"+base_2 ; + participle = table { + Masc => table { + Sg => base_1+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Fem => table { + Sg => base_1+"ла"+base_2 ; + Pl => base_1+"ли"+base_2 + } ; + Neuter => table { + Sg => base_1+"ло"+base_2 ; + Pl => base_1+"ли"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV212" + } ; + +mkV213 : Str -> V ; +mkV213 base = + case base of { + base_1+"ід"+base_2@(?+?+?+?)+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ід"+base_2+"вати" ; + Pl => base_1+"ри"+base_2+"єм" + } ; + P2 => table { + Sg => base_1+"ри"+base_2+"єш" ; + Pl => base_1+"ри"+base_2+"єте" + } ; + P3 => table { + Sg => base_1+"ри"+base_2+"є" ; + Pl => base_1+"ри"+base_2+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ри"+base_2+"ймо" ; + imperative2 = table { + Sg => base_1+"ри"+base_2+"й" ; + Pl => base_1+"ри"+base_2+"йте" + } ; + infinitive = base_1+"ід"+base_2+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"ри"+base_2+"вав" ; + Pl => base_1+"ри"+base_2+"вали" + } ; + Fem => table { + Sg => base_1+"ри"+base_2+"вала" ; + Pl => base_1+"ри"+base_2+"вали" + } ; + Neuter => table { + Sg => base_1+"ри"+base_2+"вало" ; + Pl => base_1+"ри"+base_2+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV213" + } ; + +mkV214 : Str -> V ; +mkV214 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"дім" ; + imperative2 = table { + Sg => base_1+"ди" ; + Pl => base_1+"діть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"тий" + } + } + }; + _ => error "Can't apply paradigm mkV214" + } ; + +mkV215 : Str -> V ; +mkV215 base = + case base of { + base_1+base_2@?+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+base_2+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = nonExist ; + imperative2 = table { + Sg => nonExist ; + Pl => nonExist + } ; + infinitive = base_1+base_2+"ти" ; + participle = table { + Masc => table { + Sg => base_1+base_2+"в" ; + Pl => base_1+base_2+"ли" + } ; + Fem => table { + Sg => base_1+base_2+"ла" ; + Pl => base_1+base_2+"ли" + } ; + Neuter => table { + Sg => base_1+base_2+"ло" ; + Pl => base_1+base_2+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ен"+base_2+"й" + } + } + }; + _ => error "Can't apply paradigm mkV215" + } ; + +mkV216 : Str -> V ; +mkV216 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ім" ; + imperative2 = table { + Sg => base_1+"и" ; + Pl => base_1+"іть" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1 ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ений" + } + } + }; + _ => error "Can't apply paradigm mkV216" + } ; + +mkV217 : Str -> V ; +mkV217 base = + case base of { + base_1+"'яти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"'яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"'яти" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"нім" ; + imperative2 = table { + Sg => base_1+"ни" ; + Pl => base_1+"ніть" + } ; + infinitive = base_1+"'яти" ; + participle = table { + Masc => table { + Sg => base_1+"'яв" ; + Pl => base_1+"'яли" + } ; + Fem => table { + Sg => base_1+"'яла" ; + Pl => base_1+"'яли" + } ; + Neuter => table { + Sg => base_1+"'яло" ; + Pl => base_1+"'яли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"'ятий" + } + } + }; + _ => error "Can't apply paradigm mkV217" + } ; + +mkV218 : Str -> V ; +mkV218 base = + case base of { + base_1+"вати" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати • pf випростувати" ; + Pl => base_1+"єм" + } ; + P2 => table { + Sg => base_1+"єш" ; + Pl => base_1+"єте" + } ; + P3 => table { + Sg => base_1+"є" ; + Pl => base_1+"ють" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"вати" ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"вати" ; + participle = table { + Masc => table { + Sg => base_1+"вав" ; + Pl => base_1+"вали" + } ; + Fem => table { + Sg => base_1+"вала" ; + Pl => base_1+"вали" + } ; + Neuter => table { + Sg => base_1+"вало" ; + Pl => base_1+"вали" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => base_1+"ваний" + } + } + }; + _ => error "Can't apply paradigm mkV218" + } ; + +mkV219 : Str -> V ; +mkV219 base = + case base of { + base_1+"ти" => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => base_1+"ти" ; + Pl => "будемо "+base_1+"ти" + } ; + P2 => table { + Sg => "будеш "+base_1+"ти" ; + Pl => "будете "+base_1+"ти" + } ; + P3 => table { + Sg => "буде "+base_1+"ти" ; + Pl => "будуть "+base_1+"ти" + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = base_1+"ймо" ; + imperative2 = table { + Sg => base_1+"й" ; + Pl => base_1+"йте" + } ; + infinitive = base_1+"ти" ; + participle = table { + Masc => table { + Sg => base_1+"в" ; + Pl => base_1+"ли" + } ; + Fem => table { + Sg => base_1+"ла" ; + Pl => base_1+"ли" + } ; + Neuter => table { + Sg => base_1+"ло" ; + Pl => base_1+"ли" + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => base_1+"ний" + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV219" + } ; + +mkV220 : Str -> V ; +mkV220 base = + case base of { + "г"+base_1+"ати"+base_2@(?+?) => lin V + { active = table { + Imperf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => "г"+base_1+"ати"+base_2 ; + Pl => "же"+base_1+"ем"+base_2 + } ; + P2 => table { + Sg => "же"+base_1+"еш"+base_2 ; + Pl => "же"+base_1+"ете"+base_2 + } ; + P3 => table { + Sg => "же"+base_1+"еть"+base_2 ; + Pl => "же"+base_1+"уть"+base_2 + } + } + } ; + Perf => { Past = nonExist ; + Pres = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } + } + } ; + imperative1 = "же"+base_1+"ім"+base_2 ; + imperative2 = table { + Sg => "же"+base_1+"и"+base_2 ; + Pl => "же"+base_1+"іть"+base_2 + } ; + infinitive = "г"+base_1+"ати"+base_2 ; + participle = table { + Masc => table { + Sg => "г"+base_1+"ав"+base_2 ; + Pl => "г"+base_1+"али"+base_2 + } ; + Fem => table { + Sg => "г"+base_1+"ала"+base_2 ; + Pl => "г"+base_1+"али"+base_2 + } ; + Neuter => table { + Sg => "г"+base_1+"ало"+base_2 ; + Pl => "г"+base_1+"али"+base_2 + } + } ; + passive = table { + Imperf => table { + Pres => nonExist ; + Past => nonExist + } ; + Perf => table { + Pres => nonExist ; + Past => nonExist + } + } + }; + _ => error "Can't apply paradigm mkV220" + } ; + +mkA001 : Str -> A ; +mkA001 base = + case base of { + base_1+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ий" ; + GSg Fem => base_1+"а" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"і" + } ; + Acc => table { + GSg Masc => base_1+"ого" ; + GSg Fem => base_1+"у" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"их" + } ; + Dat => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"им" + } ; + Gen => table { + GSg Fem => base_1+"ої" ; + GSg _ => base_1+"ого" ; + GPl => base_1+"их" + } ; + Loc => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"их" + } ; + Instr => table { + GSg Fem => base_1+"ою" ; + GSg _ => base_1+"им" ; + GPl => base_1+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA001" + } ; + +mkA002 : Str -> A ; +mkA002 base = + case base of { + base_1 => lin A + { s = table { + Nom => table { + GSg Masc => base_1 ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } ; + Acc => table { + GSg Masc => nonExist ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } ; + Dat => table { + GSg Masc => nonExist ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } ; + Gen => table { + GSg Masc => nonExist ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } ; + Loc => table { + GSg Masc => nonExist ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } ; + Instr => table { + GSg Masc => nonExist ; + GSg Fem => nonExist ; + GSg Neuter => nonExist ; + GPl => nonExist + } + } + }; + _ => error "Can't apply paradigm mkA002" + } ; + +mkA003 : Str -> A ; +mkA003 base = + case base of { + base_1+"ій" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ій" ; + GSg Fem => base_1+"я" ; + GSg Neuter => base_1+"є" ; + GPl => base_1+"і" + } ; + Acc => table { + GSg Masc => base_1+"ього" ; + GSg Fem => base_1+"ю" ; + GSg Neuter => base_1+"є" ; + GPl => base_1+"іх" + } ; + Dat => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ьому" ; + GPl => base_1+"ім" + } ; + Gen => table { + GSg Fem => base_1+"ьої" ; + GSg _ => base_1+"ього" ; + GPl => base_1+"іх" + } ; + Loc => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ьому" ; + GPl => base_1+"іх" + } ; + Instr => table { + GSg Fem => base_1+"ьою" ; + GSg _ => base_1+"ім" ; + GPl => base_1+"іми" + } + } + }; + _ => error "Can't apply paradigm mkA003" + } ; + +mkA004 : Str -> A ; +mkA004 base = + case base of { + base_1+"їй" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"їй" ; + GSg Fem => base_1+"я" ; + GSg Neuter => base_1+"є" ; + GPl => base_1+"ї" + } ; + Acc => table { + GSg Masc => base_1+"його" ; + GSg Fem => base_1+"ю" ; + GSg Neuter => base_1+"є" ; + GPl => base_1+"їх" + } ; + Dat => table { + GSg Fem => base_1+"їй" ; + GSg _ => base_1+"йому" ; + GPl => base_1+"їм" + } ; + Gen => table { + GSg Fem => base_1+"йої" ; + GSg _ => base_1+"його" ; + GPl => base_1+"їх" + } ; + Loc => table { + GSg Fem => base_1+"їй" ; + GSg _ => base_1+"йому" ; + GPl => base_1+"їх" + } ; + Instr => table { + GSg Fem => base_1+"йою" ; + GSg _ => base_1+"їм" ; + GPl => base_1+"їми" + } + } + }; + _ => error "Can't apply paradigm mkA004" + } ; + +mkA005 : Str -> A ; +mkA005 base = + case base of { + base_1+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ий" ; + GSg Fem => base_1+"я" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"і" + } ; + Acc => table { + GSg Masc => base_1+"ього" ; + GSg Fem => base_1+"ю" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"их" + } ; + Dat => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ьому" ; + GPl => base_1+"им" + } ; + Gen => table { + GSg Fem => base_1+"ьої" ; + GSg _ => base_1+"ього" ; + GPl => base_1+"их" + } ; + Loc => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ьому" ; + GPl => base_1+"их" + } ; + Instr => table { + GSg Fem => base_1+"ьою" ; + GSg _ => base_1+"им" ; + GPl => base_1+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA005" + } ; + +mkA006 : Str -> A ; +mkA006 base = + case base of { + "не"+base_1+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => "не"+base_1+"ий" ; + GSg Fem => base_1+"а" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"і" + } ; + Acc => table { + GSg Masc => base_1+"ого" ; + GSg Fem => base_1+"у" ; + GSg Neuter => base_1+"е" ; + GPl => base_1+"их" + } ; + Dat => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"им" + } ; + Gen => table { + GSg Fem => base_1+"ої" ; + GSg _ => base_1+"ого" ; + GPl => base_1+"их" + } ; + Loc => table { + GSg Fem => base_1+"ій" ; + GSg _ => base_1+"ому" ; + GPl => base_1+"их" + } ; + Instr => table { + GSg Fem => base_1+"ою" ; + GSg _ => base_1+"им" ; + GPl => base_1+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA006" + } ; + +mkA008 : Str -> A ; +mkA008 base = + case base of { + base_1+"ий"+base_2@(?+?+?+?+?)+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ий"+base_2+"ий" ; + GSg Fem => base_1+"а"+base_2+"а" ; + GSg Neuter => base_1+"е"+base_2+"е" ; + GPl => base_1+"і"+base_2+"і" + } ; + Acc => table { + GSg Masc => base_1+"ого"+base_2+"ого" ; + GSg Fem => base_1+"у"+base_2+"у" ; + GSg Neuter => base_1+"е"+base_2+"е" ; + GPl => base_1+"их"+base_2+"их" + } ; + Dat => table { + GSg Fem => base_1+"ій"+base_2+"ій" ; + GSg _ => base_1+"ому"+base_2+"ому" ; + GPl => base_1+"им"+base_2+"им" + } ; + Gen => table { + GSg Fem => base_1+"ої"+base_2+"ої" ; + GSg _ => base_1+"ого"+base_2+"ого" ; + GPl => base_1+"их"+base_2+"их" + } ; + Loc => table { + GSg Fem => base_1+"ій"+base_2+"ій" ; + GSg _ => base_1+"ому"+base_2+"ому" ; + GPl => base_1+"их"+base_2+"их" + } ; + Instr => table { + GSg Fem => base_1+"ою"+base_2+"ою" ; + GSg _ => base_1+"им"+base_2+"им" ; + GPl => base_1+"ими"+base_2+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA008" + } ; + +mkA009 : Str -> A ; +mkA009 base = + case base of { + base_1+"ь"+base_2@?+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"ь"+base_2+"ий" ; + GSg Fem => base_1+base_2+"а" ; + GSg Neuter => base_1+base_2+"е" ; + GPl => base_1+base_2+"і" + } ; + Acc => table { + GSg Masc => base_1+base_2+"ого" ; + GSg Fem => base_1+base_2+"у" ; + GSg Neuter => base_1+base_2+"е" ; + GPl => base_1+base_2+"их" + } ; + Dat => table { + GSg Fem => base_1+base_2+"ій" ; + GSg _ => base_1+base_2+"ому" ; + GPl => base_1+base_2+"им" + } ; + Gen => table { + GSg Fem => base_1+base_2+"ої" ; + GSg _ => base_1+base_2+"ого" ; + GPl => base_1+base_2+"их" + } ; + Loc => table { + GSg Fem => base_1+base_2+"ій" ; + GSg _ => base_1+base_2+"ому" ; + GPl => base_1+base_2+"их" + } ; + Instr => table { + GSg Fem => base_1+base_2+"ою" ; + GSg _ => base_1+base_2+"им" ; + GPl => base_1+base_2+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA009" + } ; + +mkA011 : Str -> A ; +mkA011 base = + case base of { + base_1+"яс"+base_2@?+"ий" => lin A + { s = table { + Nom => table { + GSg Masc => base_1+"яс"+base_2+"ий" ; + GSg Fem => "че"+base_1+"во"+base_2+"а" ; + GSg Neuter => "че"+base_1+"во"+base_2+"е" ; + GPl => "че"+base_1+"во"+base_2+"і" + } ; + Acc => table { + GSg Masc => "че"+base_1+"во"+base_2+"ого" ; + GSg Fem => "че"+base_1+"во"+base_2+"у" ; + GSg Neuter => "че"+base_1+"во"+base_2+"е" ; + GPl => "че"+base_1+"во"+base_2+"их" + } ; + Dat => table { + GSg Fem => "че"+base_1+"во"+base_2+"ій" ; + GSg _ => "че"+base_1+"во"+base_2+"ому" ; + GPl => "че"+base_1+"во"+base_2+"им" + } ; + Gen => table { + GSg Fem => "че"+base_1+"во"+base_2+"ої" ; + GSg _ => "че"+base_1+"во"+base_2+"ого" ; + GPl => "че"+base_1+"во"+base_2+"их" + } ; + Loc => table { + GSg Fem => "че"+base_1+"во"+base_2+"ій" ; + GSg _ => "че"+base_1+"во"+base_2+"ому" ; + GPl => "че"+base_1+"во"+base_2+"их" + } ; + Instr => table { + GSg Fem => "че"+base_1+"во"+base_2+"ою" ; + GSg _ => "че"+base_1+"во"+base_2+"им" ; + GPl => "че"+base_1+"во"+base_2+"ими" + } + } + }; + _ => error "Can't apply paradigm mkA011" + } ; +} diff --git a/src/ukrainian/NounUkr.gf b/src/ukrainian/NounUkr.gf new file mode 100644 index 00000000..370f1a1d --- /dev/null +++ b/src/ukrainian/NounUkr.gf @@ -0,0 +1,4 @@ +concrete NounUkr of Noun = CatUkr ** { +lin + UseN n = n ; +} diff --git a/src/ukrainian/ParadigmsUkr.gf b/src/ukrainian/ParadigmsUkr.gf new file mode 100644 index 00000000..309d82a0 --- /dev/null +++ b/src/ukrainian/ParadigmsUkr.gf @@ -0,0 +1,1334 @@ +resource ParadigmsUkr = MorphoUkr ** open Predef, Prelude, CatUkr, ResUkr in { +oper + regN : Str -> N -- s;Nom;Sg + = \form -> case form of { + _ + "ака" => mkN022 form; + _ + "ека" => mkN022 form; + _ + "яка" => mkN022 form; + _ + "ика" => mkN022 form; + _ + "іка" => mkN022 form; + _ + "юка" => mkN022 form; + _ + "їка" => mkN002 form; + _ + "рка" => mkN038 form; + _ + "йка" => mkN038 form; + _ + "тка" => mkN038 form; + _ + "ука" => mkN022 form; + _ + "ока" => mkN022 form; + _ + "гра" => mkN006 form; + _ + "пла" => mkN003 form; + _ + "тла" => mkN130 form; + _ + "еша" => mkN003 form; + _ + "иша" => mkN178 form; + _ + "чма" => mkN130 form; + _ + "їта" => mkN003 form; + _ + "хуа" => mkN063 form; + _ + "гва" => mkN042 form; + _ + "шва" => mkN042 form; + _ + "сна" => mkN130 form; + _ + "ьна" => mkN281 form; + _ + "оха" => mkN098 form; + _ + "ега" => mkN101 form; + _ + "вча" => mkN055 form; + _ + "нча" => mkN055 form; + _ + "еща" => mkN087 form; + _ + "іща" => mkN151 form; + _ + "аща" => mkN193 form; + _ + "хаз" => mkN023 form; + _ + "лаз" => mkN023 form; + _ + "баз" => mkN029 form; + _ + "таз" => mkN029 form; + _ + "газ" => mkN029 form; + _ + "паз" => mkN050 form; + _ + "воз" => mkN029 form; + _ + "ооз" => mkN063 form; + _ + "ліз" => mkN031 form; + _ + "кіз" => mkN023 form; + _ + "цуз" => mkN023 form; + _ + "ауз" => mkN023 form; + _ + "гуз" => mkN023 form; + _ + "муз" => mkN031 form; + _ + "рас" => mkN023 form; + _ + "рос" => mkN023 form; + _ + "аос" => mkN031 form; + _ + "тос" => mkN031 form; + _ + "мос" => mkN031 form; + _ + "гос" => mkN031 form; + _ + "фос" => mkN031 form; + _ + "пос" => mkN050 form; + _ + "лус" => mkN012 form; + _ + "зус" => mkN031 form; + _ + "гус" => mkN031 form; + _ + "сис" => mkN029 form; + _ + "ніс" => mkN029 form; + _ + "ряс" => mkN023 form; + _ + "ьєф" => mkN003 form; + _ + "льф" => mkN003 form; + _ + "роф" => mkN029 form; + _ + "орф" => mkN031 form; + _ + "ерф" => mkN049 form; + _ + "аон" => mkN023 form; + _ + "вон" => mkN031 form; + _ + "пон" => mkN171 form; + _ + "еан" => mkN003 form; + _ + "ман" => mkN003 form; + _ + "тан" => mkN003 form; + _ + "лан" => mkN003 form; + _ + "іан" => mkN012 form; + _ + "цан" => mkN023 form; + _ + "ґан" => mkN050 form; + _ + "зин" => mkN031 form; + _ + "чин" => mkN003 form; + _ + "тин" => mkN003 form; + _ + "мин" => mkN003 form; + _ + "дин" => mkN023 form; + _ + "син" => mkN023 form; + _ + "вин" => mkN023 form; + _ + "лин" => mkN031 form; + _ + "мен" => mkN023 form; + _ + "зен" => mkN023 form; + _ + "сен" => mkN031 form; + _ + "фен" => mkN031 form; + _ + "вен" => mkN184 form; + _ + "жен" => mkN184 form; + _ + "ерн" => mkN003 form; + _ + "'ян" => mkN003 form; + _ + "ґун" => mkN003 form; + _ + "зун" => mkN012 form; + _ + "дун" => mkN023 form; + _ + "оун" => mkN023 form; + _ + "мун" => mkN023 form; + _ + "рун" => mkN023 form; + _ + "уїн" => mkN012 form; + _ + "нод" => mkN029 form; + _ + "код" => mkN029 form; + _ + "ярд" => mkN029 form; + _ + "орд" => mkN171 form; + _ + "дуд" => mkN012 form; + _ + "суд" => mkN031 form; + _ + "пид" => mkN023 form; + _ + "лід" => mkN092 form; + _ + "дід" => mkN004 form; + _ + "узд" => mkN031 form; + _ + "ізд" => mkN181 form; + _ + "еїд" => mkN031 form; + _ + "люд" => mkN012 form; + _ + "вед" => mkN023 form; + _ + "лот" => mkN023 form; + _ + "мот" => mkN012 form; + _ + "іот" => mkN023 form; + _ + "зот" => mkN031 form; + _ + "рат" => mkN023 form; + _ + "дат" => mkN023 form; + _ + "бат" => mkN023 form; + _ + "пат" => mkN023 form; + _ + "еат" => mkN023 form; + _ + "чет" => mkN012 form; + _ + "оет" => mkN023 form; + _ + "гет" => mkN171 form; + _ + "ірт" => mkN031 form; + _ + "іфт" => mkN171 form; + _ + "юст" => mkN029 form; + _ + "рст" => mkN029 form; + _ + "унт" => mkN029 form; + _ + "инт" => mkN029 form; + _ + "йнт" => mkN029 form; + _ + "ійт" => mkN023 form; + _ + "цит" => mkN171 form; + _ + "лит" => mkN023 form; + _ + "сит" => mkN023 form; + _ + "бит" => mkN023 form; + _ + "рут" => mkN023 form; + _ + "кут" => mkN012 form; + _ + "бут" => mkN031 form; + _ + "жут" => mkN031 form; + _ + "лют" => mkN031 form; + _ + "олт" => mkN029 form; + _ + "уїт" => mkN023 form; + _ + "гир" => mkN282 form; + _ + "дир" => mkN029 form; + _ + "тир" => mkN056 form; + _ + "бир" => mkN031 form; + _ + "зир" => mkN056 form; + _ + "бар" => mkN056 form; + _ + "уар" => mkN003 form; + _ + "рар" => mkN003 form; + _ + "лар" => mkN029 form; + _ + "гар" => mkN056 form; + _ + "оар" => mkN029 form; + _ + "ґар" => mkN056 form; + _ + "фар" => mkN056 form; + _ + "атр" => mkN003 form; + _ + "итр" => mkN003 form; + _ + "дор" => mkN003 form; + _ + "фор" => mkN003 form; + _ + "хор" => mkN003 form; + _ + "мор" => mkN029 form; + _ + "зор" => mkN029 form; + _ + "пор" => mkN029 form; + _ + "лор" => mkN031 form; + _ + "кор" => mkN031 form; + _ + "ьор" => mkN031 form; + _ + "жор" => mkN050 form; + _ + "гор" => mkN157 form; + _ + "кер" => mkN029 form; + _ + "вер" => mkN029 form; + _ + "зер" => mkN029 form; + _ + "фер" => mkN029 form; + _ + "бер" => mkN184 form; + _ + "ґер" => mkN312 form; + _ + "убр" => mkN012 form; + _ + "тур" => mkN003 form; + _ + "жур" => mkN029 form; + _ + "мур" => mkN003 form; + _ + "чур" => mkN012 form; + _ + "бур" => mkN029 form; + _ + "хур" => mkN029 form; + _ + "зур" => mkN029 form; + _ + "лур" => mkN031 form; + _ + "мір" => mkN003 form; + _ + "нір" => mkN003 form; + _ + "фір" => mkN031 form; + _ + "кір" => mkN003 form; + _ + "лір" => mkN029 form; + _ + "чір" => mkN092 form; + _ + "хір" => mkN181 form; + _ + "дір" => mkN238 form; + _ + "евр" => mkN003 form; + _ + "идр" => mkN031 form; + _ + "цяр" => mkN003 form; + _ + "'яр" => mkN031 form; + _ + "уал" => mkN023 form; + _ + "рал" => mkN023 form; + _ + "пал" => mkN029 form; + _ + "кал" => mkN029 form; + _ + "шал" => mkN023 form; + _ + "жал" => mkN029 form; + _ + "сал" => mkN029 form; + _ + "гал" => mkN029 form; + _ + "мол" => mkN031 form; + _ + "гол" => mkN029 form; + _ + "дол" => mkN023 form; + _ + "пол" => mkN029 form; + _ + "бол" => mkN031 form; + _ + "лол" => mkN031 form; + _ + "хол" => mkN157 form; + _ + "сол" => mkN088 form; + _ + "зол" => mkN157 form; + _ + "тел" => mkN029 form; + _ + "кел" => mkN029 form; + _ + "вел" => mkN029 form; + _ + "пел" => mkN029 form; + _ + "зел" => mkN034 form; + _ + "сел" => mkN208 form; + _ + "дел" => mkN184 form; + _ + "філ" => mkN023 form; + _ + "біл" => mkN023 form; + _ + "тіл" => mkN092 form; + _ + "віл" => mkN103 form; + _ + "кіл" => mkN159 form; + _ + "піл" => mkN201 form; + _ + "сул" => mkN023 form; + _ + "вул" => mkN023 form; + _ + "цул" => mkN023 form; + _ + "дил" => mkN012 form; + _ + "пил" => mkN029 form; + _ + "рил" => mkN029 form; + _ + "тил" => mkN031 form; + _ + "дем" => mkN029 form; + _ + "тем" => mkN063 form; + _ + "арм" => mkN023 form; + _ + "рям" => mkN003 form; + _ + "айм" => mkN029 form; + _ + "рім" => mkN103 form; + _ + "тюм" => mkN029 form; + _ + "рип" => mkN031 form; + _ + "коп" => mkN029 form; + _ + "топ" => mkN029 form; + _ + "руп" => mkN029 form; + _ + "реп" => mkN029 form; + _ + "неп" => mkN029 form; + _ + "ліп" => mkN029 form; + _ + "ніп" => mkN092 form; + _ + "таб" => mkN003 form; + _ + "либ" => mkN003 form; + _ + "руб" => mkN012 form; + _ + "моб" => mkN003 form; + _ + "арб" => mkN003 form; + _ + "рац" => mkN029 form; + _ + "тив" => mkN171 form; + _ + "лів" => mkN103 form; + _ + "рів" => mkN187 form; + _ + "ков" => mkN029 form; + _ + "ров" => mkN049 form; + _ + "бов" => mkN049 form; + _ + "угу" => mkN063 form; + _ + "тро" => mkN006 form; + _ + "єро" => mkN003 form; + _ + "юро" => mkN006 form; + _ + "дро" => mkN070 form; + _ + "ьпо" => mkN006 form; + _ + "ано" => mkN006 form; + _ + "ино" => mkN006 form; + _ + "нно" => mkN006 form; + _ + "кно" => mkN119 form; + _ + "дно" => mkN070 form; + _ + "рно" => mkN070 form; + _ + "зно" => mkN070 form; + _ + "пно" => mkN078 form; + _ + "мно" => mkN078 form; + _ + "вно" => mkN078 form; + _ + "шно" => mkN084 form; + _ + "гно" => mkN176 form; + _ + "вто" => mkN006 form; + _ + "ото" => mkN006 form; + _ + "ато" => mkN006 form; + _ + "нто" => mkN063 form; + _ + "ето" => mkN113 form; + _ + "аго" => mkN015 form; + _ + "псо" => mkN063 form; + _ + "ясо" => mkN084 form; + _ + "ізо" => mkN006 form; + _ + "гво" => mkN209 form; + _ + "імо" => mkN006 form; + _ + "ихо" => mkN091 form; + _ + "ель" => mkN058 form; + _ + "аль" => mkN093 form; + _ + "йль" => mkN065 form; + _ + "юль" => mkN065 form; + _ + "яць" => mkN025 form; + _ + "єць" => mkN164 form; + _ + "унь" => mkN030 form; + _ + "знь" => mkN061 form; + _ + "ань" => mkN142 form; + _ + "онь" => mkN142 form; + _ + "інь" => mkN219 form; + _ + "инь" => mkN142 form; + _ + "ждь" => mkN058 form; + _ + "дзь" => mkN030 form; + _ + "рзь" => mkN058 form; + _ + "взь" => mkN058 form; + _ + "усь" => mkN058 form; + _ + "ись" => mkN290 form; + _ + "есь" => mkN290 form; + _ + "уть" => mkN040 form; + _ + "ать" => mkN040 form; + _ + "ють" => mkN040 form; + _ + "еть" => mkN040 form; + _ + "єть" => mkN058 form; + _ + "рть" => mkN061 form; + _ + "іть" => mkN392 form; + _ + "оне" => mkN003 form; + _ + "оле" => mkN045 form; + _ + "оре" => mkN045 form; + _ + "еже" => mkN006 form; + _ + "ьце" => mkN305 form; + _ + "ямі" => mkN063 form; + _ + "іті" => mkN003 form; + _ + "сті" => mkN344 form; + _ + "брі" => mkN003 form; + _ + "абі" => mkN003 form; + _ + "мбі" => mkN003 form; + _ + "аці" => mkN003 form; + _ + "иці" => mkN241 form; + _ + "рці" => mkN250 form; + _ + "нкі" => mkN003 form; + _ + "ікі" => mkN063 form; + _ + "оні" => mkN003 form; + _ + "ані" => mkN063 form; + _ + "ьні" => mkN344 form; + _ + "йні" => mkN352 form; + _ + "ілі" => mkN006 form; + _ + "плі" => mkN250 form; + _ + "очі" => mkN006 form; + _ + "ові" => mkN352 form; + _ + "ваш" => mkN067 form; + _ + "маш" => mkN085 form; + _ + "уаш" => mkN121 form; + _ + "тиш" => mkN067 form; + _ + "ниш" => mkN067 form; + _ + "риш" => mkN085 form; + _ + "биш" => mkN085 form; + _ + "міш" => mkN121 form; + _ + "рош" => mkN017 form; + _ + "дзя" => mkN003 form; + _ + "езя" => mkN120 form; + _ + "мля" => mkN039 form; + _ + "фля" => mkN039 form; + _ + "пля" => mkN039 form; + _ + "бля" => mkN039 form; + _ + "вля" => mkN039 form; + _ + "шля" => mkN039 form; + _ + "оля" => mkN046 form; + _ + "лля" => mkN204 form; + _ + "аля" => mkN083 form; + _ + "рля" => mkN151 form; + _ + "гля" => mkN151 form; + _ + "сля" => mkN234 form; + _ + "шня" => mkN039 form; + _ + "рня" => mkN039 form; + _ + "тня" => mkN039 form; + _ + "сня" => mkN046 form; + _ + "вня" => mkN039 form; + _ + "хня" => mkN077 form; + _ + "зня" => mkN039 form; + _ + "чня" => mkN046 form; + _ + "дня" => mkN039 form; + _ + "йня" => mkN046 form; + _ + "оня" => mkN072 form; + _ + "пня" => mkN046 form; + _ + "ьня" => mkN076 form; + _ + "гня" => mkN151 form; + _ + "еня" => mkN151 form; + _ + "аня" => mkN072 form; + _ + "уня" => mkN072 form; + _ + "иня" => mkN083 form; + _ + "юня" => mkN072 form; + _ + "кня" => mkN077 form; + _ + "їня" => mkN083 form; + _ + "ень" => mkN005 form; + _ + "еря" => mkN337 form; + _ + "іря" => mkN151 form; + _ + "тря" => mkN204 form; + _ + "дря" => mkN207 form; + _ + "иця" => mkN083 form; + _ + "оця" => mkN083 form; + _ + "итя" => mkN055 form; + _ + "отя" => mkN083 form; + _ + "утя" => mkN120 form; + _ + "б'я" => mkN055 form; + _ + "п'я" => mkN055 form; + _ + "ося" => mkN083 form; + _ + "уся" => mkN135 form; + _ + "адя" => mkN169 form; + _ + "здя" => mkN235 form; + _ + "нок" => mkN026 form; + _ + "шок" => mkN026 form; + _ + "ияк" => mkN004 form; + _ + "'як" => mkN018 form; + _ + "ляк" => mkN036 form; + _ + "няк" => mkN036 form; + _ + "ояк" => mkN019 form; + _ + "ьяк" => mkN036 form; + _ + "вяк" => mkN075 form; + _ + "вік" => mkN019 form; + _ + "лік" => mkN036 form; + _ + "тік" => mkN173 form; + _ + "дик" => mkN018 form; + _ + "цик" => mkN082 form; + _ + "рак" => mkN019 form; + _ + "шак" => mkN018 form; + _ + "нак" => mkN036 form; + _ + "лак" => mkN036 form; + _ + "дак" => mkN019 form; + _ + "вак" => mkN019 form; + _ + "хак" => mkN036 form; + _ + "сак" => mkN082 form; + _ + "как" => mkN082 form; + _ + "нук" => mkN004 form; + _ + "еук" => mkN004 form; + _ + "чук" => mkN004 form; + _ + "шук" => mkN036 form; + _ + "рук" => mkN036 form; + _ + "сук" => mkN018 form; + _ + "оук" => mkN019 form; + _ + "щук" => mkN019 form; + _ + "гук" => mkN036 form; + _ + "бек" => mkN004 form; + _ + "тек" => mkN004 form; + _ + "дек" => mkN004 form; + _ + "нюк" => mkN004 form; + _ + "люк" => mkN004 form; + _ + "цюк" => mkN018 form; + _ + "юск" => mkN082 form; + _ + "овк" => mkN018 form; + _ + "овх" => mkN003 form; + _ + "шах" => mkN004 form; + _ + "зах" => mkN004 form; + _ + "тах" => mkN082 form; + _ + "дух" => mkN011 form; + _ + "бух" => mkN011 form; + _ + "жух" => mkN134 form; + _ + "них" => mkN004 form; + _ + "лох" => mkN004 form; + _ + "арх" => mkN004 form; + _ + "ріх" => mkN011 form; + _ + "вях" => mkN011 form; + _ + "лех" => mkN011 form; + _ + "тюх" => mkN011 form; + _ + "люх" => mkN134 form; + _ + "мли" => mkN003 form; + _ + "іди" => mkN006 form; + _ + "уди" => mkN051 form; + _ + "іни" => mkN051 form; + _ + "уси" => mkN051 form; + _ + "лки" => mkN195 form; + _ + "ьки" => mkN256 form; + _ + "тки" => mkN256 form; + _ + "чки" => mkN345 form; + _ + "иги" => mkN195 form; + _ + "ати" => mkN195 form; + _ + "узи" => mkN195 form; + _ + "ари" => mkN195 form; + _ + "дог" => mkN011 form; + _ + "рог" => mkN043 form; + _ + "бог" => mkN043 form; + _ + "раг" => mkN043 form; + _ + "ерг" => mkN011 form; + _ + "тег" => mkN004 form; + _ + "рег" => mkN004 form; + _ + "онг" => mkN011 form; + _ + "луг" => mkN011 form; + _ + "чуг" => mkN011 form; + _ + "ряг" => mkN043 form; + _ + "сяг" => mkN094 form; + _ + "лоч" => mkN111 form; + _ + "пач" => mkN009 form; + _ + "кач" => mkN067 form; + _ + "рич" => mkN009 form; + _ + "нич" => mkN017 form; + _ + "лич" => mkN111 form; + _ + "'яч" => mkN067 form; + _ + "руч" => mkN067 form; + _ + "ндж" => mkN009 form; + _ + "риж" => mkN192 form; + _ + "єрж" => mkN081 form; + _ + "орж" => mkN167 form; + _ + "заґ" => mkN011 form; + _ + "гай" => mkN037 form; + _ + "цай" => mkN037 form; + _ + "фай" => mkN066 form; + _ + "дай" => mkN066 form; + _ + "рей" => mkN037 form; + _ + "дей" => mkN037 form; + _ + "жей" => mkN037 form; + _ + "гой" => mkN037 form; + _ + "бой" => mkN037 form; + _ + "жій" => mkN037 form; + _ + "шій" => mkN066 form; + _ + "кій" => mkN230 form; + _ + "кий" => mkN138 form; + _ + "ка" => mkN007 form; + _ + "ша" => mkN060 form; + _ + "оа" => mkN006 form; + _ + "уа" => mkN006 form; + _ + "іа" => mkN006 form; + _ + "юа" => mkN006 form; + _ + "ха" => mkN062 form; + _ + "га" => mkN033 form; + _ + "ча" => mkN060 form; + _ + "жа" => mkN060 form; + _ + "ща" => mkN060 form; + _ + "ґа" => mkN358 form; + _ + "оз" => mkN031 form; + _ + "ез" => mkN031 form; + _ + "із" => mkN029 form; + _ + "уз" => mkN029 form; + _ + "дз" => mkN023 form; + _ + "яз" => mkN029 form; + _ + "ас" => mkN029 form; + _ + "ос" => mkN029 form; + _ + "кс" => mkN029 form; + _ + "ус" => mkN029 form; + _ + "іс" => mkN031 form; + _ + "пс" => mkN029 form; + _ + "яс" => mkN029 form; + _ + "юс" => mkN023 form; + _ + "єс" => mkN031 form; + _ + "іф" => mkN029 form; + _ + "иф" => mkN003 form; + _ + "єф" => mkN029 form; + _ + "уф" => mkN003 form; + _ + "рф" => mkN029 form; + _ + "йф" => mkN031 form; + _ + "мф" => mkN050 form; + _ + "он" => mkN003 form; + _ + "ин" => mkN136 form; + _ + "ен" => mkN003 form; + _ + "ян" => mkN171 form; + _ + "йн" => mkN031 form; + _ + "мн" => mkN003 form; + _ + "тн" => mkN003 form; + _ + "їн" => mkN031 form; + _ + "вн" => mkN023 form; + _ + "юн" => mkN031 form; + _ + "ід" => mkN103 form; + _ + "їд" => mkN023 form; + _ + "юд" => mkN031 form; + _ + "ед" => mkN029 form; + _ + "от" => mkN029 form; + _ + "ат" => mkN029 form; + _ + "ет" => mkN029 form; + _ + "ст" => mkN023 form; + _ + "нт" => mkN023 form; + _ + "йт" => mkN029 form; + _ + "пт" => mkN029 form; + _ + "ут" => mkN029 form; + _ + "ят" => mkN023 form; + _ + "вт" => mkN023 form; + _ + "хт" => mkN031 form; + _ + "чт" => mkN031 form; + _ + "ар" => mkN035 form; + _ + "тр" => mkN029 form; + _ + "нр" => mkN003 form; + _ + "бр" => mkN003 form; + _ + "ір" => mkN103 form; + _ + "єр" => mkN029 form; + _ + "др" => mkN029 form; + _ + "яр" => mkN081 form; + _ + "гр" => mkN012 form; + _ + "пр" => mkN012 form; + _ + "юр" => mkN031 form; + _ + "ел" => mkN023 form; + _ + "зл" => mkN029 form; + _ + "гл" => mkN031 form; + _ + "ґл" => mkN031 form; + _ + "йл" => mkN050 form; + _ + "ял" => mkN050 form; + _ + "ем" => mkN003 form; + _ + "тм" => mkN003 form; + _ + "рм" => mkN003 form; + _ + "ам" => mkN029 form; + _ + "ьм" => mkN003 form; + _ + "йм" => mkN003 form; + _ + "єм" => mkN003 form; + _ + "ім" => mkN029 form; + _ + "їм" => mkN023 form; + _ + "юм" => mkN050 form; + _ + "фм" => mkN029 form; + _ + "лм" => mkN050 form; + _ + "оп" => mkN023 form; + _ + "ап" => mkN023 form; + _ + "рп" => mkN029 form; + _ + "лп" => mkN029 form; + _ + "іп" => mkN103 form; + _ + "йп" => mkN031 form; + _ + "тп" => mkN063 form; + _ + "пп" => mkN063 form; + _ + "аб" => mkN023 form; + _ + "об" => mkN023 form; + _ + "юб" => mkN023 form; + _ + "пб" => mkN003 form; + _ + "бб" => mkN006 form; + _ + "іб" => mkN103 form; + _ + "нц" => mkN023 form; + _ + "єц" => mkN029 form; + _ + "иц" => mkN171 form; + _ + "ав" => mkN029 form; + _ + "ов" => mkN099 form; + _ + "ьв" => mkN023 form; + _ + "хв" => mkN023 form; + _ + "йв" => mkN050 form; + _ + "му" => mkN003 form; + _ + "ру" => mkN003 form; + _ + "ду" => mkN063 form; + _ + "чо" => mkN003 form; + _ + "по" => mkN063 form; + _ + "го" => mkN006 form; + _ + "со" => mkN006 form; + _ + "ао" => mkN006 form; + _ + "жо" => mkN006 form; + _ + "іо" => mkN006 form; + _ + "ео" => mkN006 form; + _ + "цо" => mkN006 form; + _ + "бо" => mkN006 form; + _ + "ьо" => mkN006 form; + _ + "хо" => mkN078 form; + _ + "ґо" => mkN078 form; + _ + "ль" => mkN025 form; + _ + "ць" => mkN079 form; + _ + "дь" => mkN106 form; + _ + "зь" => mkN141 form; + _ + "сь" => mkN030 form; + _ + "зе" => mkN003 form; + _ + "не" => mkN006 form; + _ + "ле" => mkN006 form; + _ + "фе" => mkN006 form; + _ + "ме" => mkN006 form; + _ + "те" => mkN006 form; + _ + "ке" => mkN006 form; + _ + "пе" => mkN006 form; + _ + "ре" => mkN006 form; + _ + "се" => mkN006 form; + _ + "ое" => mkN006 form; + _ + "бе" => mkN006 form; + _ + "це" => mkN105 form; + _ + "мі" => mkN006 form; + _ + "ті" => mkN006 form; + _ + "рі" => mkN006 form; + _ + "бі" => mkN006 form; + _ + "ці" => mkN272 form; + _ + "кі" => mkN006 form; + _ + "ні" => mkN272 form; + _ + "сі" => mkN006 form; + _ + "лі" => mkN272 form; + _ + "зі" => mkN006 form; + _ + "фі" => mkN006 form; + _ + "ві" => mkN063 form; + _ + "ді" => mkN400 form; + _ + "рш" => mkN067 form; + _ + "іш" => mkN166 form; + _ + "уш" => mkN067 form; + _ + "ош" => mkN067 form; + _ + "ьш" => mkN069 form; + _ + "вш" => mkN322 form; + _ + "йя" => mkN003 form; + _ + "зя" => mkN204 form; + _ + "ля" => mkN072 form; + _ + "ня" => mkN204 form; + _ + "ря" => mkN046 form; + _ + "ця" => mkN072 form; + _ + "тя" => mkN204 form; + _ + "'я" => mkN236 form; + _ + "ся" => mkN204 form; + _ + "чя" => mkN165 form; + _ + "дя" => mkN204 form; + _ + "жя" => mkN204 form; + _ + "шя" => mkN204 form; + _ + "ья" => mkN220 form; + _ + "ок" => mkN024 form; + _ + "ік" => mkN004 form; + _ + "ик" => mkN004 form; + _ + "рк" => mkN036 form; + _ + "нк" => mkN036 form; + _ + "йк" => mkN036 form; + _ + "ск" => mkN036 form; + _ + "вк" => mkN036 form; + _ + "лк" => mkN036 form; + _ + "ух" => mkN004 form; + _ + "их" => mkN011 form; + _ + "ли" => mkN195 form; + _ + "ди" => mkN195 form; + _ + "ни" => mkN195 form; + _ + "ви" => mkN256 form; + _ + "'є" => mkN003 form; + _ + "ог" => mkN004 form; + _ + "аг" => mkN011 form; + _ + "рг" => mkN004 form; + _ + "яг" => mkN011 form; + _ + "юг" => mkN054 form; + _ + "рч" => mkN009 form; + _ + "тч" => mkN009 form; + _ + "оч" => mkN009 form; + _ + "еч" => mkN067 form; + _ + "юч" => mkN067 form; + _ + "вч" => mkN231 form; + _ + "рщ" => mkN009 form; + _ + "ощ" => mkN009 form; + _ + "ущ" => mkN155 form; + _ + "ож" => mkN254 form; + _ + "уж" => mkN081 form; + _ + "мж" => mkN081 form; + _ + "рж" => mkN192 form; + _ + "іж" => mkN371 form; + _ + "яґ" => mkN011 form; + _ + "оґ" => mkN082 form; + _ + "уй" => mkN037 form; + _ + "ий" => mkN215 form; + _ + "а" => mkN008 form; + _ + "з" => mkN003 form; + _ + "с" => mkN003 form; + _ + "ф" => mkN023 form; + _ + "н" => mkN029 form; + _ + "д" => mkN003 form; + _ + "т" => mkN003 form; + _ + "р" => mkN023 form; + _ + "л" => mkN003 form; + _ + "м" => mkN031 form; + _ + "п" => mkN003 form; + _ + "б" => mkN029 form; + _ + "ц" => mkN003 form; + _ + "в" => mkN003 form; + _ + "у" => mkN006 form; + _ + "о" => mkN013 form; + _ + "і"+?+?+"ь" => mkN229 form; + _ + "е" => mkN132 form; + _ + "і" => mkN308 form; + _ + "ш" => mkN009 form; + _ + "я" => mkN097 form; + _ + "к" => mkN011 form; + _ + "х" => mkN036 form; + _ + "и" => mkN198 form; + _ + "є" => mkN006 form; + _ + "г" => mkN036 form; + _ + "ю" => mkN006 form; + _ + "ї" => mkN341 form; + _ + "ч" => mkN085 form; + _ + "щ" => mkN067 form; + _ + "ж" => mkN069 form; + _ + "ґ" => mkN036 form; + _ + "й" => mkN016 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2N : Str -> Str -> N -- s;Nom;Sg s;Loc;Sg + = \form1, form2 -> case of { + <_ + "хор", _ + "хрі"> => mkN157 form1; + <_ + "тел", _ + "тлі"> => mkN184 form1; + <_ + "ліз", _ + "озі"> => mkN092 form1; + <_ + "мір", _ + "орі"> => mkN092 form1; + <_ + "лід", _ + "іді"> => mkN003 form1; + <_ + "вер", _ + "врі"> => mkN184 form1; + <_ + "ель", _ + "влю"> => mkN005 form1; + <_ + "ель", _ + "блю"> => mkN005 form1; + <_ + "ель", _ + "злю"> => mkN005 form1; + <_ + "ель", _ + "ґлю"> => mkN005 form1; + <_ + "ель", _ + "длю"> => mkN005 form1; + <_ + "ель", _ + "тлю"> => mkN005 form1; + <_ + "ель", _ + "шлю"> => mkN116 form1; + <_ + "нок", _ + "оку"> => mkN011 form1; + <_ + "гир", _ + "ові"> => mkN017 form1; + <_ + "гол", _ + "глі"> => mkN157 form1; + <_ + "лір", _ + "орі"> => mkN255 form1; + <_ + "бер", _ + "ері"> => mkN029 form1; + <_ + "утя", _ + "яті"> => mkN151 form1; + <_ + "інь", _ + "ені"> => mkN223 form1; + <_ + "атр", _ + "ві"> => mkN023 form1; + <_ + "бар", _ + "ві"> => mkN023 form1; + <_ + "дор", _ + "ві"> => mkN012 form1; + <_ + "ман", _ + "ві"> => mkN023 form1; + <_ + "тан", _ + "ві"> => mkN023 form1; + <_ + "зин", _ + "ві"> => mkN023 form1; + <_ + "лан", _ + "ві"> => mkN012 form1; + <_ + "рут", _ + "ті"> => mkN003 form1; + <_ + "тел", _ + "ві"> => mkN034 form1; + <_ + "уал", _ + "лі"> => mkN003 form1; + <_ + "ерн", _ + "ві"> => mkN023 form1; + <_ + "рат", _ + "ті"> => mkN003 form1; + <_ + "іан", _ + "ні"> => mkN003 form1; + <_ + "рал", _ + "лі"> => mkN003 form1; + <_ + "мір", _ + "ві"> => mkN023 form1; + <_ + "кер", _ + "ві"> => mkN023 form1; + <_ + "арм", _ + "мі"> => mkN003 form1; + <_ + "тин", _ + "ві"> => mkN012 form1; + <_ + "лід", _ + "ві"> => mkN023 form1; + <_ + "нір", _ + "ві"> => mkN023 form1; + <_ + "вер", _ + "ві"> => mkN023 form1; + <_ + "мен", _ + "ні"> => mkN029 form1; + <_ + "льф", _ + "ві"> => mkN023 form1; + <_ + "рег", _ + "зі"> => mkN054 form1; + <_ + "ель", _ + "лі"> => mkN093 form1; + <_ + "лус", _ + "сі"> => mkN029 form1; + <_ + "рук", _ + "ці"> => mkN075 form1; + <_ + "гол", _ + "ві"> => mkN023 form1; + <_ + "дат", _ + "ті"> => mkN029 form1; + <_ + "бат", _ + "ті"> => mkN029 form1; + <_ + "зер", _ + "ві"> => mkN023 form1; + <_ + "гуз", _ + "зі"> => mkN029 form1; + <_ + "рун", _ + "ні"> => mkN029 form1; + <_ + "уїт", _ + "ті"> => mkN029 form1; + <_ + "аль", _ + "ві"> => mkN058 form1; + <_ + "гар", _ + "ві"> => mkN035 form1; + <_ + "бер", _ + "ві"> => mkN034 form1; + <_ + "унь", _ + "ні"> => mkN142 form1; + <_ + "сел", _ + "ві"> => mkN034 form1; + <_ + "рня", _ + "ті"> => mkN151 form1; + <_ + "вля", _ + "ті"> => mkN055 form1; + <_ + "еря", _ + "ті"> => mkN151 form1; + <_ + "оля", _ + "ті"> => mkN151 form1; + <_ + "оня", _ + "ті"> => mkN151 form1; + <_ + "ьня", _ + "ті"> => mkN055 form1; + <_ + "аня", _ + "ті"> => mkN055 form1; + <_ + "аля", _ + "ті"> => mkN055 form1; + <_ + "ося", _ + "ті"> => mkN151 form1; + <_ + "інь", _ + "ві"> => mkN384 form1; + <_ + "кіл", _ + "ві"> => mkN160 form1; + <_ + "яка", _ + "і"> => mkN002 form1; + <_ + "лот", _ + "і"> => mkN003 form1; + <_ + "бар", _ + "і"> => mkN003 form1; + <_ + "ман", _ + "у"> => mkN031 form1; + <_ + "тан", _ + "у"> => mkN031 form1; + <_ + "суд", _ + "і"> => mkN003 form1; + <_ + "зин", _ + "і"> => mkN003 form1; + <_ + "лан", _ + "у"> => mkN031 form1; + <_ + "таб", _ + "у"> => mkN050 form1; + <_ + "чин", _ + "у"> => mkN031 form1; + <_ + "тив", _ + "і"> => mkN029 form1; + <_ + "тел", _ + "і"> => mkN003 form1; + <_ + "топ", _ + "і"> => mkN003 form1; + <_ + "ерн", _ + "у"> => mkN031 form1; + <_ + "рат", _ + "у"> => mkN031 form1; + <_ + "фор", _ + "у"> => mkN031 form1; + <_ + "ліз", _ + "і"> => mkN003 form1; + <_ + "мір", _ + "у"> => mkN031 form1; + <_ + "кер", _ + "у"> => mkN050 form1; + <_ + "арм", _ + "у"> => mkN031 form1; + <_ + "жур", _ + "і"> => mkN003 form1; + <_ + "тин", _ + "у"> => mkN031 form1; + <_ + "пал", _ + "у"> => mkN031 form1; + <_ + "цит", _ + "і"> => mkN003 form1; + <_ + "лід", _ + "у"> => mkN050 form1; + <_ + "мор", _ + "і"> => mkN003 form1; + <_ + "мор", _ + "у"> => mkN031 form1; + <_ + "нір", _ + "у"> => mkN050 form1; + <_ + "фір", _ + "і"> => mkN003 form1; + <_ + "вер", _ + "у"> => mkN031 form1; + <_ + "тро", _ + "і"> => mkN013 form1; + <_ + "тро", _ + "у"> => mkN078 form1; + <_ + "овх", _ + "у"> => mkN036 form1; + <_ + "лак", _ + "і"> => mkN004 form1; + <_ + "шах", _ + "у"> => mkN036 form1; + <_ + "'як", _ + "у"> => mkN011 form1; + <_ + "бек", _ + "у"> => mkN036 form1; + <_ + "лох", _ + "у"> => mkN036 form1; + <_ + "тег", _ + "у"> => mkN036 form1; + <_ + "рак", _ + "у"> => mkN011 form1; + <_ + "арх", _ + "у"> => mkN011 form1; + <_ + "люк", _ + "у"> => mkN011 form1; + <_ + "ляк", _ + "і"> => mkN004 form1; + <_ + "чук", _ + "у"> => mkN011 form1; + <_ + "шак", _ + "у"> => mkN011 form1; + <_ + "дик", _ + "у"> => mkN011 form1; + <_ + "ель", _ + "ю"> => mkN025 form1; + <_ + "юро", _ + "у"> => mkN078 form1; + <_ + "ото", _ + "у"> => mkN128 form1; + <_ + "ато", _ + "і"> => mkN013 form1; + <_ + "ино", _ + "і"> => mkN013 form1; + <_ + "ізо", _ + "і"> => mkN084 form1; + <_ + "нак", _ + "і"> => mkN019 form1; + <_ + "дог", _ + "і"> => mkN082 form1; + <_ + "дак", _ + "у"> => mkN011 form1; + <_ + "няк", _ + "і"> => mkN019 form1; + <_ + "нок", _ + "у"> => mkN253 form1; + <_ + "люд", _ + "у"> => mkN031 form1; + <_ + "кал", _ + "і"> => mkN012 form1; + <_ + "кал", _ + "у"> => mkN031 form1; + <_ + "рос", _ + "у"> => mkN031 form1; + <_ + "мол", _ + "і"> => mkN012 form1; + <_ + "дун", _ + "і"> => mkN012 form1; + <_ + "дун", _ + "у"> => mkN171 form1; + <_ + "кно", _ + "у"> => mkN176 form1; + <_ + "рош", _ + "у"> => mkN067 form1; + <_ + "рук", _ + "і"> => mkN018 form1; + <_ + "овк", _ + "у"> => mkN036 form1; + <_ + "вак", _ + "у"> => mkN114 form1; + <_ + "реп", _ + "у"> => mkN031 form1; + <_ + "зен", _ + "у"> => mkN031 form1; + <_ + "пил", _ + "і"> => mkN023 form1; + <_ + "пил", _ + "у"> => mkN031 form1; + <_ + "шал", _ + "у"> => mkN031 form1; + <_ + "лір", _ + "і"> => mkN023 form1; + <_ + "біл", _ + "у"> => mkN031 form1; + <_ + "рун", _ + "у"> => mkN171 form1; + <_ + "шок", _ + "у"> => mkN036 form1; + <_ + "аль", _ + "ю"> => mkN065 form1; + <_ + "гар", _ + "і"> => mkN029 form1; + <_ + "гар", _ + "у"> => mkN031 form1; + <_ + "бут", _ + "і"> => mkN029 form1; + <_ + "юст", _ + "у"> => mkN171 form1; + <_ + "гал", _ + "у"> => mkN031 form1; + <_ + "ніс", _ + "у"> => mkN031 form1; + <_ + "айм", _ + "у"> => mkN031 form1; + <_ + "ярд", _ + "у"> => mkN171 form1; + <_ + "бур", _ + "у"> => mkN050 form1; + <_ + "инт", _ + "у"> => mkN050 form1; + <_ + "таз", _ + "у"> => mkN031 form1; + <_ + "кор", _ + "і"> => mkN088 form1; + <_ + "гня", _ + "і"> => mkN046 form1; + <_ + "лля", _ + "ю"> => mkN235 form1; + <_ + "ань", _ + "ю"> => mkN065 form1; + <_ + "кий", _ + "ю"> => mkN066 form1; + <_ + "кач", _ + "і"> => mkN085 form1; + <_ + "руч", _ + "і"> => mkN085 form1; + <_ + "хол", _ + "і"> => mkN088 form1; + <_ + "лів", _ + "у"> => mkN171 form1; + <_ + "міш", _ + "у"> => mkN390 form1; + <_ + "онь", _ + "ю"> => mkN222 form1; + <_ + "інь", _ + "і"> => mkN142 form1; + <_ + "єць", _ + "ю"> => mkN396 form1; + <_ + "орж", _ + "у"> => mkN192 form1; + <_ + "ґер", _ + "у"> => mkN171 form1; + <_ + "тік", _ + "і"> => mkN257 form1; + <_ + "піл", _ + "у"> => mkN238 form1; + <_ + "ар", _ + "ові"> => mkN023 form1; + <_ + "ет", _ + "бті"> => mkN184 form1; + <_ + "ет", _ + "цті"> => mkN208 form1; + <_ + "ен", _ + "рні"> => mkN208 form1; + <_ + "ід", _ + "іді"> => mkN003 form1; + <_ + "ід", _ + "іду"> => mkN031 form1; + <_ + "ід", _ + "еду"> => mkN381 form1; + <_ + "яр", _ + "ові"> => mkN023 form1; + <_ + "ір", _ + "ірі"> => mkN029 form1; + <_ + "ір", _ + "ері"> => mkN201 form1; + <_ + "ль", _ + "елю"> => mkN218 form1; + <_ + "ок", _ + "зку"> => mkN253 form1; + <_ + "ок", _ + "тку"> => mkN253 form1; + <_ + "ок", _ + "дку"> => mkN383 form1; + <_ + "ць", _ + "ецю"> => mkN025 form1; + <_ + "ць", _ + "ьцю"> => mkN140 form1; + <_ + "ік", _ + "оку"> => mkN173 form1; + <_ + "нь", _ + "еню"> => mkN025 form1; + <_ + "нь", _ + "гню"> => mkN116 form1; + <_ + "іш", _ + "ішу"> => mkN009 form1; + <_ + "іш", _ + "ешу"> => mkN371 form1; + <_ + "ім", _ + "омі"> => mkN103 form1; + <_ + "іб", _ + "ібі"> => mkN029 form1; + <_ + "іп", _ + "іпі"> => mkN029 form1; + <_ + "ий", _ + "рию"> => mkN037 form1; + <_ + "іж", _ + "іжу"> => mkN192 form1; + <_ + "тя", _ + "стю"> => mkN372 form1; + <_ + "ас", _ + "ві"> => mkN023 form1; + <_ + "он", _ + "ві"> => mkN012 form1; + <_ + "ат", _ + "ві"> => mkN023 form1; + <_ + "ар", _ + "рі"> => mkN029 form1; + <_ + "ет", _ + "ві"> => mkN023 form1; + <_ + "ос", _ + "ві"> => mkN023 form1; + <_ + "от", _ + "ві"> => mkN023 form1; + <_ + "ен", _ + "ві"> => mkN023 form1; + <_ + "нт", _ + "ті"> => mkN003 form1; + <_ + "ус", _ + "ві"> => mkN023 form1; + <_ + "пт", _ + "ві"> => mkN023 form1; + <_ + "тр", _ + "ві"> => mkN023 form1; + <_ + "ут", _ + "ві"> => mkN012 form1; + <_ + "іс", _ + "ві"> => mkN023 form1; + <_ + "іф", _ + "ві"> => mkN023 form1; + <_ + "ід", _ + "ві"> => mkN023 form1; + <_ + "ап", _ + "пі"> => mkN003 form1; + <_ + "яр", _ + "рі"> => mkN029 form1; + <_ + "юб", _ + "бі"> => mkN003 form1; + <_ + "ят", _ + "ті"> => mkN003 form1; + <_ + "їд", _ + "ді"> => mkN029 form1; + <_ + "ір", _ + "ві"> => mkN023 form1; + <_ + "об", _ + "бі"> => mkN029 form1; + <_ + "ль", _ + "ві"> => mkN030 form1; + <_ + "ок", _ + "ці"> => mkN075 form1; + <_ + "ік", _ + "ці"> => mkN257 form1; + <_ + "ух", _ + "сі"> => mkN059 form1; + <_ + "ог", _ + "зі"> => mkN094 form1; + <_ + "рг", _ + "зі"> => mkN054 form1; + <_ + "ин", _ + "ні"> => mkN029 form1; + <_ + "нь", _ + "ні"> => mkN142 form1; + <_ + "ля", _ + "ті"> => mkN151 form1; + <_ + "ож", _ + "ві"> => mkN081 form1; + <_ + "оп", _ + "пі"> => mkN029 form1; + <_ + "аб", _ + "бі"> => mkN029 form1; + <_ + "уз", _ + "ві"> => mkN023 form1; + <_ + "ім", _ + "ві"> => mkN023 form1; + <_ + "дь", _ + "ві"> => mkN150 form1; + <_ + "зь", _ + "ві"> => mkN058 form1; + <_ + "іп", _ + "ві"> => mkN160 form1; + <_ + "ря", _ + "ті"> => mkN151 form1; + <_ + "ча", _ + "ті"> => mkN151 form1; + <_ + "ша", _ + "ті"> => mkN151 form1; + <_ + "'я", _ + "ті"> => mkN151 form1; + <_ + "ас", _ + "у"> => mkN031 form1; + <_ + "он", _ + "у"> => mkN031 form1; + <_ + "ат", _ + "і"> => mkN003 form1; + <_ + "ат", _ + "у"> => mkN031 form1; + <_ + "ар", _ + "у"> => mkN031 form1; + <_ + "ар", _ + "ю"> => mkN056 form1; + <_ + "ет", _ + "у"> => mkN031 form1; + <_ + "ос", _ + "у"> => mkN031 form1; + <_ + "от", _ + "у"> => mkN050 form1; + <_ + "оз", _ + "і"> => mkN003 form1; + <_ + "ен", _ + "у"> => mkN031 form1; + <_ + "ст", _ + "у"> => mkN031 form1; + <_ + "нт", _ + "у"> => mkN031 form1; + <_ + "кс", _ + "у"> => mkN031 form1; + <_ + "ус", _ + "у"> => mkN031 form1; + <_ + "рм", _ + "у"> => mkN031 form1; + <_ + "ам", _ + "у"> => mkN031 form1; + <_ + "тр", _ + "у"> => mkN171 form1; + <_ + "ут", _ + "у"> => mkN031 form1; + <_ + "ез", _ + "і"> => mkN003 form1; + <_ + "іс", _ + "і"> => mkN003 form1; + <_ + "ід", _ + "у"> => mkN238 form1; + <_ + "яр", _ + "у"> => mkN171 form1; + <_ + "юб", _ + "у"> => mkN050 form1; + <_ + "пс", _ + "у"> => mkN031 form1; + <_ + "ят", _ + "у"> => mkN171 form1; + <_ + "їд", _ + "у"> => mkN050 form1; + <_ + "йн", _ + "і"> => mkN003 form1; + <_ + "ір", _ + "у"> => mkN238 form1; + <_ + "др", _ + "у"> => mkN171 form1; + <_ + "ль", _ + "і"> => mkN093 form1; + <_ + "йя", _ + "ї"> => mkN280 form1; + <_ + "ок", _ + "у"> => mkN011 form1; + <_ + "ць", _ + "ю"> => mkN005 form1; + <_ + "ік", _ + "у"> => mkN011 form1; + <_ + "ик", _ + "у"> => mkN011 form1; + <_ + "ух", _ + "у"> => mkN011 form1; + <_ + "ог", _ + "у"> => mkN036 form1; + <_ + "аг", _ + "і"> => mkN004 form1; + <_ + "рг", _ + "у"> => mkN036 form1; + <_ + "рк", _ + "і"> => mkN004 form1; + <_ + "ин", _ + "у"> => mkN031 form1; + <_ + "нь", _ + "і"> => mkN079 form1; + <_ + "го", _ + "у"> => mkN078 form1; + <_ + "со", _ + "у"> => mkN113 form1; + <_ + "бо", _ + "і"> => mkN084 form1; + <_ + "ка", _ + "й"> => mkN047 form1; + <_ + "рщ", _ + "і"> => mkN231 form1; + <_ + "ож", _ + "у"> => mkN009 form1; + <_ + "яг", _ + "і"> => mkN054 form1; + <_ + "ім", _ + "у"> => mkN031 form1; + <_ + "їн", _ + "і"> => mkN023 form1; + <_ + "юр", _ + "і"> => mkN023 form1; + <_ + "юс", _ + "у"> => mkN171 form1; + <_ + "дь", _ + "ю"> => mkN025 form1; + <_ + "зь", _ + "ю"> => mkN025 form1; + <_ + "ед", _ + "у"> => mkN050 form1; + <_ + "іб", _ + "у"> => mkN381 form1; + <_ + "ий", _ + "ю"> => mkN066 form1; + <_ + "ча", _ + "й"> => mkN281 form1; + <_ + "'я", _ + "і"> => mkN204 form1; + <_ + "'я", _ + "ю"> => mkN235 form1; + <_ + "чя", _ + "ю"> => mkN235 form1; + <_ + "ня", _ + "ю"> => mkN260 form1; + <_ + "тя", _ + "ю"> => mkN235 form1; + <_ + "жя", _ + "ю"> => mkN235 form1; + <_ + "дя", _ + "ю"> => mkN235 form1; + <_ + "з", _ + "азу"> => mkN050 form1; + <_ + "д", _ + "иду"> => mkN050 form1; + <_ + "р", _ + "иру"> => mkN050 form1; + <_ + "р", _ + "тру"> => mkN180 form1; + <_ + "м", _ + "лмі"> => mkN157 form1; + <_ + "н", _ + "іні"> => mkN003 form1; + <_ + "н", _ + "оні"> => mkN103 form1; + <_ + "н", _ + "ону"> => mkN238 form1; + <_ + "т", _ + "фту"> => mkN050 form1; + <_ + "т", _ + "ьту"> => mkN171 form1; + <_ + "т", _ + "оту"> => mkN238 form1; + <_ + "в", _ + "ові"> => mkN012 form1; + <_ + "б", _ + "убу"> => mkN050 form1; + <_ + "о", _ + "блі"> => mkN070 form1; + <_ + "о", _ + "слі"> => mkN070 form1; + <_ + "о", _ + "тлі"> => mkN070 form1; + <_ + "о", _ + "уді"> => mkN084 form1; + <_ + "о", _ + "уку"> => mkN015 form1; + <_ + "о", _ + "іку"> => mkN015 form1; + <_ + "о", _ + "жку"> => mkN209 form1; + <_ + "о", _ + "рку"> => mkN209 form1; + <_ + "о", _ + "длу"> => mkN015 form1; + <_ + "о", _ + "елу"> => mkN113 form1; + <_ + "о", _ + "олу"> => mkN128 form1; + <_ + "ч", _ + "ечу"> => mkN390 form1; + <_ + "ь", _ + "оті"> => mkN040 form1; + <_ + "ь", _ + "яті"> => mkN040 form1; + <_ + "ь", _ + "иті"> => mkN040 form1; + <_ + "ь", _ + "итю"> => mkN065 form1; + <_ + "з", _ + "ві"> => mkN023 form1; + <_ + "д", _ + "ві"> => mkN023 form1; + <_ + "р", _ + "рі"> => mkN029 form1; + <_ + "л", _ + "ві"> => mkN023 form1; + <_ + "м", _ + "ві"> => mkN023 form1; + <_ + "н", _ + "ві"> => mkN023 form1; + <_ + "т", _ + "ві"> => mkN023 form1; + <_ + "п", _ + "ві"> => mkN012 form1; + <_ + "б", _ + "ві"> => mkN012 form1; + <_ + "о", _ + "ку"> => mkN176 form1; + <_ + "к", _ + "ці"> => mkN075 form1; + <_ + "г", _ + "зі"> => mkN143 form1; + <_ + "х", _ + "сі"> => mkN059 form1; + <_ + "й", _ + "ою"> => mkN230 form1; + <_ + "ь", _ + "ві"> => mkN058 form1; + <_ + "з", _ + "у"> => mkN031 form1; + <_ + "ф", _ + "у"> => mkN031 form1; + <_ + "д", _ + "у"> => mkN031 form1; + <_ + "р", _ + "у"> => mkN031 form1; + <_ + "с", _ + "у"> => mkN031 form1; + <_ + "л", _ + "у"> => mkN031 form1; + <_ + "м", _ + "і"> => mkN003 form1; + <_ + "н", _ + "у"> => mkN031 form1; + <_ + "т", _ + "у"> => mkN031 form1; + <_ + "п", _ + "у"> => mkN031 form1; + <_ + "в", _ + "у"> => mkN031 form1; + <_ + "б", _ + "у"> => mkN031 form1; + <_ + "о", _ + "у"> => mkN078 form1; + <_ + "ш", _ + "і"> => mkN121 form1; + <_ + "а", _ + "й"> => mkN047 form1; + <_ + "к", _ + "і"> => mkN004 form1; + <_ + "г", _ + "і"> => mkN004 form1; + <_ + "х", _ + "і"> => mkN004 form1; + <_ + "ч", _ + "у"> => mkN067 form1; + <_ + "й", _ + "ї"> => mkN186 form1; + <_ + "й", _ + "у"> => mkN397 form1; + <_ + "ь", _ + "ю"> => mkN302 form1; + <_ + "щ", _ + "і"> => mkN155 form1; + <_ + "ж", _ + "і"> => mkN081 form1; + _ => regN form1 + } ; + + regV : Str -> V -- Active;Imperf;Pres;P1;Sg + = \form -> case form of { + _ + "вати" => mkV036 form; + _ + "ити" => mkV039 form; + _ + "ися" => mkV071 form; + _ + "ути" => mkV038 form; + _ + "їти" => mkV081 form; + _ + "сти" => mkV025 form; + _ + "зти" => mkV024 form; + _ + "бти" => mkV024 form; + _ + "кти" => mkV094 form; + _ + "йти" => mkV033 form; + _ + "рти" => mkV077 form; + _ + "гти" => mkV070 form; + _ + "оти" => mkV074 form; + _ + "ося" => mkV044 form; + _ + "ки" => mkV044 form; + _ + "ти" => mkV001 form; + _ + "а" => mkV044 form; + _ + "є" => mkV044 form; + _ + "е" => mkV044 form; + _ + "і" => mkV044 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2V : Str -> Str -> V -- Active;Imperf;Pres;P1;Sg imperative1 + = \form1, form2 -> case of { + <_ + "ати", _ + "ьмо"> => mkV057 form1; + <_ + "ати", _ + "жмо"> => mkV023 form1; + <_ + "ати", _ + "пмо"> => mkV056 form1; + <_ + "ати", _ + "чмо"> => mkV060 form1; + <_ + "ити", _ + "ймо"> => mkV013 form1; + <_ + "ити", _ + "ьмо"> => mkV002 form1; + <_ + "ити", _ + "вмо"> => mkV007 form1; + <_ + "ити", _ + "ммо"> => mkV007 form1; + <_ + "ити", _ + "бмо"> => mkV007 form1; + <_ + "ити", _ + "пмо"> => mkV007 form1; + <_ + "ити", _ + "дім"> => mkV045 form1; + <_ + "ити", _ + "зім"> => mkV010 form1; + <_ + "ити", _ + "сім"> => mkV018 form1; + <_ + "ити", _ + "тім"> => mkV043 form1; + <_ + "ити", _ + "вім"> => mkV010 form1; + <_ + "ити", _ + "пім"> => mkV010 form1; + <_ + "ити", _ + "бім"> => mkV010 form1; + <_ + "ити", _ + "мім"> => mkV012 form1; + <_ + "ути", _ + "ймо"> => mkV013 form1; + <_ + "ути", _ + "мім"> => mkV117 form1; + <_ + "сти", _ + "сім"> => mkV024 form1; + <_ + "сти", _ + "тім"> => mkV029 form1; + <_ + "сти", _ + "вім"> => mkV105 form1; + <_ + "сти", _ + "ьмо"> => mkV026 form1; + <_ + "зти", _ + "нім"> => mkV070 form1; + <_ + "гти", _ + "жім"> => mkV110 form1; + <_ + "ити", _ + "о"> => mkV031 form1; + <_ + "ути", _ + "о"> => mkV046 form1; + <_ + "їти", _ + "м"> => mkV082 form1; + <_ + "сти", _ + "о"> => mkV032 form1; + <_ + "зти", _ + "о"> => mkV102 form1; + <_ + "и", _ + "ьмо"> => mkV090 form1; + <_ + "и", _ + "мім"> => mkV126 form1; + <_ + "и", _ + "пім"> => mkV100 form1; + <_ + "и", _ + "м"> => mkV062 form1; + _ => regV form1 + } ; + + regA : Str -> A -- s;Nom;('GSg', Masc) + = \form -> case form of { + _ + "ій" => mkA003 form; + _ + "їй" => mkA004 form; + _ + "ий" => mkA001 form; + _ + "о" => mkA002 form; + _ + "ь" => mkA002 form; + _ + "н" => mkA002 form; + _ + "а" => mkA002 form; + _ + "и" => mkA002 form; + _ + "в" => mkA002 form; + _ + "ж" => mkA002 form; + _ + "д" => mkA002 form; + _ + "і" => mkA002 form; + _ + "е" => mkA002 form; + _ + "у" => mkA002 form; + _ => error "Cannot find an inflection rule" + } ; + + reg2A : Str -> Str -> A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Fem) + = \form1, form2 -> case of { + <_ + "й", _ + "я"> => mkA005 form1; + _ => regA form1 + } ; + + mkN = overload { + mkN : Str -> N = regN; -- s;Nom;Sg + mkN : Str -> Str -> N = reg2N -- s;Nom;Sg s;Loc;Sg + } ; + + mkN2 = overload { + mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ; + mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ; + } ; + + mkN3 = overload { + mkN3 : N -> N3 = \n -> lin N3 (n ** {c2 = noPrep; c3 = noPrep}) ; + mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 (n ** {c2 = p1; c3 = p2}) ; + } ; + + mkV = overload { + mkV : Str -> V = regV; -- Active;Imperf;Pres;P1;Sg + mkV : Str -> Str -> V = reg2V -- Active;Imperf;Pres;P1;Sg imperative1 + } ; + + 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 ; + + mkV2 = overload { + mkV2 : V -> V2 = \v -> lin V2 (v ** {c2 = noPrep}) ; + mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p}) ; + } ; + + mkV3 = overload { + mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2A = overload { + mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2S = overload { + mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2S : V -> Prep -> Prep -> V2S = \v,p1,p2 -> lin V2S (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2Q = overload { + mkV2Q : V -> V2Q = \v -> lin V2Q (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2Q : V -> Prep -> Prep -> V2Q = \v,p1,p2 -> lin V2Q (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkV2V = overload { + mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = noPrep; c3 = noPrep}) ; + mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (v ** {c2 = p1; c3 = p2}) ; + } ; + + mkA = overload { + mkA : Str -> A = regA; -- s;Nom;('GSg', Masc) + mkA : Str -> Str -> A = reg2A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Fem) + } ; + + mkA2 = overload { + mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = noPrep}) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {c2 = p}) ; + } ; + + 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=""} ; + mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + + mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Acc} ; + + mkIAdv : Str -> IAdv = \s -> lin IAdv {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} ; + mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; + mkQuant : Str -> Quant = \s -> lin Quant {s=s} ; + mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; + mkDet : Str -> Det = \s -> lin Det {s=s} ; + mkCard : Str -> Card = \s -> lin Card {s=s} ; + mkConj : Str -> Conj = \s -> lin Conj {s=s} ; + mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; + mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; + + mkLN : Str -> LN = \s -> lin LN {s=s} ; + mkGN : Str -> GN = \s -> lin GN {s=s} ; + mkSN : Str -> SN = \s -> lin SN {s=s} ; + mkPN : Str -> PN = \s -> lin PN {s=s} ; + +} diff --git a/src/ukrainian/PhraseUkr.gf b/src/ukrainian/PhraseUkr.gf new file mode 100644 index 00000000..9b2a8bb9 --- /dev/null +++ b/src/ukrainian/PhraseUkr.gf @@ -0,0 +1,11 @@ +concrete PhraseUkr of Phrase = CatUkr ** { +lin + PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; + + UttS s = s ; + UttInterj i = i ; + + NoPConj = {s = []} ; + + NoVoc = {s = []} ; +} diff --git a/src/ukrainian/ResUkr.gf b/src/ukrainian/ResUkr.gf new file mode 100644 index 00000000..12252abc --- /dev/null +++ b/src/ukrainian/ResUkr.gf @@ -0,0 +1,166 @@ +resource ResUkr = { + +param Case = Nom | Acc | Dat | Gen | Loc | Instr ; +param Number = Sg | Pl ; +param Gender = Masc | Neuter | Fem ; +oper N = {s: Case => Number => Str; Voc: Number => Str; g: Gender} ; -- 11407 +oper mkN : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> N = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,g -> + { s = table { + Nom => table { + Sg => f1 ; + Pl => f2 + } ; + Acc => table { + Sg => f3 ; + Pl => f4 + } ; + Dat => table { + Sg => f5 ; + Pl => f6 + } ; + Gen => table { + Sg => f7 ; + Pl => f8 + } ; + Loc => table { + Sg => f9 ; + Pl => f10 + } ; + Instr => table { + Sg => f11 ; + Pl => f12 + } + } ; + Voc = table { + Sg => f13 ; + Pl => f14 + } ; + g = g + } ; + + +param Aspect = Perf | Imperf ; +param Person = P1 | P2 | P3 ; +param Tense = Past | Pres ; +oper V = {active: Aspect => {Past: Str; Pres: Person => Number => Str}; imperative1: Str; imperative2: Number => Str; infinitive: Str; participle: Gender => Number => Str; passive: Aspect => Tense => Str} ; -- 4822 +oper mkV : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> V = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28 -> + { active = table { + Imperf => { Past = f1 ; + Pres = table { + P1 => table { + Sg => f2 ; + Pl => f3 + } ; + P2 => table { + Sg => f4 ; + Pl => f5 + } ; + P3 => table { + Sg => f6 ; + Pl => f7 + } + } + } ; + Perf => { Past = f8 ; + Pres = table { + P1 => table { + Sg => f9 ; + Pl => f10 + } ; + P2 => table { + Sg => f11 ; + Pl => f12 + } ; + P3 => table { + Sg => f13 ; + Pl => f14 + } + } + } + } ; + imperative1 = f15 ; + imperative2 = table { + Sg => f16 ; + Pl => f17 + } ; + infinitive = f18 ; + participle = table { + Masc => table { + Sg => f19 ; + Pl => f20 + } ; + Fem => table { + Sg => f21 ; + Pl => f22 + } ; + Neuter => table { + Sg => f23 ; + Pl => f24 + } + } ; + passive = table { + Imperf => table { + Pres => f25 ; + Past => f26 + } ; + Perf => table { + Pres => f27 ; + Past => f28 + } + } + } ; + +param GenNum = GSg Gender | GPl ; +oper A = {s: Case => GenNum => Str} ; -- 4394 +oper mkA : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> A = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24 -> + { s = table { + Nom => table { + GSg Masc => f1 ; + GSg Fem => f2 ; + GSg Neuter => f3 ; + GPl => f4 + } ; + Acc => table { + GSg Masc => f5 ; + GSg Fem => f6 ; + GSg Neuter => f7 ; + GPl => f8 + } ; + Dat => table { + GSg Masc => f9 ; + GSg Fem => f10 ; + GSg Neuter => f11 ; + GPl => f12 + } ; + Gen => table { + GSg Masc => f13 ; + GSg Fem => f14 ; + GSg Neuter => f15 ; + GPl => f16 + } ; + Loc => table { + GSg Masc => f17 ; + GSg Fem => f18 ; + GSg Neuter => f19 ; + GPl => f20 + } ; + Instr => table { + GSg Masc => f21 ; + GSg Fem => f22 ; + GSg Neuter => f23 ; + GPl => f24 + } + } + } ; + + +oper Compl = {s : Str; c : Case} ; +oper noPrep : Compl = {s=""; c=Acc} ; + +oper CommonNoun = N ; +oper AdjPhrase = A ; + +} diff --git a/src/urdu/ParadigmsUrd.gf b/src/urdu/ParadigmsUrd.gf index 79c653f5..54d1aaa8 100644 --- a/src/urdu/ParadigmsUrd.gf +++ b/src/urdu/ParadigmsUrd.gf @@ -83,7 +83,7 @@ oper -- compound Adjectives mkCompoundA : Str -> Str -> A ; -- e.g dra hwa - mkCompoundA s1 s2 = compoundAdj s1 s2 ; + mkCompoundA s1 s2 = lin A (compoundAdj s1 s2) ; --2 Verbs @@ -144,7 +144,7 @@ mkAdV : Str -> AdV = \s -> lin AdV {s=s} ; -- mkQuant : Pron -> Quant = \p -> {s = \\_,_,c => p.s!c ;a = p.a ; lock_Quant = <>}; -- mkQuant : (no_sg, no_pl, none_sg, non_pl : Str) -> Quant = mkQuantifier; -- } ; - mkIQuant : Str -> IQuant = \s -> makeIQuant s ; + mkIQuant : Str -> IQuant = \s -> lin IQuant (makeIQuant s) ; --2 Conjunctions @@ -166,7 +166,7 @@ mkAdV : Str -> AdV = \s -> lin AdV {s=s} ; -- mkV0 : V -> V0 ; mkVS : V -> VS; -- e.g drna - mkVS v = v ; + mkVS v = lin VS v ; -- mkV2S : V -> Prep -> V2S ; mkVV : V -> VV = -- e.g cahna \v -> lin VV (v ** {isAux = False}); @@ -181,7 +181,7 @@ mkAdV : Str -> AdV = \s -> lin AdV {s=s} ; -- mkVA : V -> VA ; -- mkV2A : V -> Prep -> V2A ; mkVQ : V -> VQ ; -- e.g janna - mkVQ v = v ; + mkVQ v = lin VQ v ; -- mkV2Q : V -> Prep -> V2Q ; -- -- mkAS : A -> AS ; diff --git a/src/zulu/PhraseZul.gf b/src/zulu/PhraseZul.gf index 8896daa5..bb22a2a1 100755 --- a/src/zulu/PhraseZul.gf +++ b/src/zulu/PhraseZul.gf @@ -11,13 +11,13 @@ concrete PhraseZul of Phrase = CatZul ** open Prelude, ParamX, ResZul in { -- UttIP ip = {s = ip.s ! npNom} ; --- Acc also -- UttIAdv iadv = iadv ; - -- UttNP np = {s = np.s ! npNom} ; + UttNP np = {s = np.s ! NFull} ; -- UttVP vp = {s = infVP VVInf vp False Simul CPos (agrP3 Sg)} ; -- UttAdv adv = adv ; -- UttCN n = {s = n.s ! Sg ! Nom} ; -- UttCard n = {s = n.s ! False ! Nom} ; - -- UttAP ap = {s = ap.s ! agrP3 Sg} ; - -- UttInterj i = i ; + UttAP ap = {s = ap.s ! AF1} ; + UttInterj i = i ; NoPConj = {s = []} ; -- PConjConj conj = {s = conj.s2} ; ---