resource ParadigmsSqi = MorphoSqi ** open Predef, Prelude, CatSqi, ResSqi in { oper singular : Number = Sg ; plural : Number = Pl ; oper regN : Str -> N -- s;Indef;Nom;Sg = \form -> case form of { _ + "lth" => mkN001 form; _ + "kth" => mkN206 form; _ + "eth" => mkN005 form; _ + "gth" => mkN005 form; _ + "ath" => mkN031 form; _ + "ith" => mkN007 form; _ + "bth" => mkN013 form; _ + "dth" => mkN013 form; _ + "nth" => mkN017 form; _ + "yth" => mkN017 form; _ + "jth" => mkN020 form; _ + "ëth" => mkN031 form; _ + "esh" => mkN031 form; _ + "ash" => mkN013 form; _ + "ësh" => mkN013 form; _ + "gsh" => mkN020 form; _ + "msh" => mkN057 form; _ + "adh" => mkN005 form; _ + "rdh" => mkN005 form; _ + "udh" => mkN031 form; _ + "rah" => mkN038 form; _ + "nah" => mkN074 form; _ + "bet" => mkN017 form; _ + "het" => mkN009 form; _ + "pet" => mkN017 form; _ + "let" => mkN074 form; _ + "zet" => mkN034 form; _ + "lat" => mkN005 form; _ + "tat" => mkN005 form; _ + "kat" => mkN005 form; _ + "pat" => mkN005 form; _ + "bat" => mkN031 form; _ + "dat" => mkN031 form; _ + "mat" => mkN034 form; _ + "vat" => mkN219 form; _ + "gat" => mkN219 form; _ + "ant" => mkN031 form; _ + "qyt" => mkN057 form; _ + "ejt" => mkN078 form; _ + "ort" => mkN005 form; _ + "ert" => mkN027 form; _ + "art" => mkN074 form; _ + "irt" => mkN081 form; _ + "nit" => mkN003 form; _ + "kit" => mkN005 form; _ + "rit" => mkN031 form; _ + "bët" => mkN020 form; _ + "mid" => mkN013 form; _ + "ond" => mkN031 form; _ + "ier" => mkN034 form; _ + "cer" => mkN003 form; _ + "qer" => mkN007 form; _ + "mer" => mkN007 form; _ + "jer" => mkN034 form; _ + "per" => mkN034 form; _ + "rer" => mkN020 form; _ + "uer" => mkN034 form; _ + "her" => mkN074 form; _ + "ber" => mkN131 form; _ + "yer" => mkN276 form; _ + "fur" => mkN002 form; _ + "lur" => mkN002 form; _ + "vur" => mkN002 form; _ + "sur" => mkN002 form; _ + "gur" => mkN002 form; _ + "pur" => mkN009 form; _ + "tur" => mkN020 form; _ + "nur" => mkN034 form; _ + "bur" => mkN524 form; _ + "zur" => mkN524 form; _ + "sar" => mkN002 form; _ + "car" => mkN005 form; _ + "rar" => mkN067 form; _ + "par" => mkN020 form; _ + "har" => mkN007 form; _ + "lar" => mkN007 form; _ + "var" => mkN007 form; _ + "bar" => mkN020 form; _ + "ërr" => mkN137 form; _ + "orr" => mkN013 form; _ + "urr" => mkN017 form; _ + "irr" => mkN017 form; _ + "lor" => mkN007 form; _ + "por" => mkN002 form; _ + "ior" => mkN007 form; _ + "hor" => mkN007 form; _ + "mor" => mkN007 form; _ + "ror" => mkN007 form; _ + "nor" => mkN034 form; _ + "dor" => mkN040 form; _ + "air" => mkN002 form; _ + "fir" => mkN017 form; _ + "jir" => mkN521 form; _ + "mër" => mkN166 form; _ + "sër" => mkN068 form; _ + "për" => mkN112 form; _ + "jër" => mkN166 form; _ + "ill" => mkN002 form; _ + "oll" => mkN074 form; _ + "yll" => mkN088 form; _ + "çal" => mkN005 form; _ + "ral" => mkN007 form; _ + "gal" => mkN007 form; _ + "tal" => mkN020 form; _ + "tel" => mkN005 form; _ + "cel" => mkN005 form; _ + "gel" => mkN013 form; _ + "bel" => mkN017 form; _ + "hel" => mkN057 form; _ + "qel" => mkN057 form; _ + "pel" => mkN069 form; _ + "jel" => mkN272 form; _ + "hul" => mkN002 form; _ + "kul" => mkN211 form; _ + "aul" => mkN017 form; _ + "çul" => mkN020 form; _ + "pil" => mkN007 form; _ + "til" => mkN017 form; _ + "lil" => mkN020 form; _ + "rël" => mkN009 form; _ + "hël" => mkN290 form; _ + "bël" => mkN112 form; _ + "mël" => mkN237 form; _ + "fël" => mkN305 form; _ + "kol" => mkN013 form; _ + "vol" => mkN031 form; _ + "jol" => mkN074 form; _ + "nem" => mkN020 form; _ + "rem" => mkN013 form; _ + "jem" => mkN017 form; _ + "tom" => mkN020 form; _ + "urm" => mkN013 form; _ + "erm" => mkN057 form; _ + "eum" => mkN003 form; _ + "kum" => mkN074 form; _ + "këm" => mkN005 form; _ + "lëm" => mkN013 form; _ + "ham" => mkN017 form; _ + "mam" => mkN074 form; _ + "elm" => mkN074 form; _ + "rup" => mkN017 form; _ + "jup" => mkN034 form; _ + "kop" => mkN007 form; _ + "rap" => mkN067 form; _ + "gap" => mkN005 form; _ + "hap" => mkN020 form; _ + "lap" => mkN031 form; _ + "jap" => mkN134 form; _ + "qap" => mkN134 form; _ + "bep" => mkN005 form; _ + "rip" => mkN005 form; _ + "tip" => mkN005 form; _ + "hip" => mkN054 form; _ + "ërp" => mkN020 form; _ + "orp" => mkN027 form; _ + "tan" => mkN002 form; _ + "han" => mkN002 form; _ + "gan" => mkN031 form; _ + "ean" => mkN005 form; _ + "kan" => mkN031 form; _ + "jan" => mkN031 form; _ + "fan" => mkN020 form; _ + "uan" => mkN031 form; _ + "zan" => mkN031 form; _ + "ban" => mkN031 form; _ + "ran" => mkN074 form; _ + "qan" => mkN074 form; _ + "nun" => mkN002 form; _ + "run" => mkN031 form; _ + "gun" => mkN417 form; _ + "tin" => mkN007 form; _ + "hin" => mkN017 form; _ + "rin" => mkN020 form; _ + "ken" => mkN005 form; _ + "gen" => mkN013 form; _ + "ren" => mkN020 form; _ + "ten" => mkN031 form; _ + "jen" => mkN120 form; _ + "hen" => mkN243 form; _ + "lon" => mkN013 form; _ + "fon" => mkN013 form; _ + "son" => mkN020 form; _ + "non" => mkN020 form; _ + "ton" => mkN020 form; _ + "hën" => mkN017 form; _ + "gën" => mkN078 form; _ + "des" => mkN017 form; _ + "les" => mkN017 form; _ + "yes" => mkN178 form; _ + "res" => mkN017 form; _ + "jes" => mkN027 form; _ + "hes" => mkN250 form; _ + "rus" => mkN003 form; _ + "bus" => mkN067 form; _ + "lis" => mkN017 form; _ + "ris" => mkN017 form; _ + "nis" => mkN031 form; _ + "tis" => mkN031 form; _ + "nas" => mkN002 form; _ + "has" => mkN031 form; _ + "tas" => mkN147 form; _ + "ars" => mkN003 form; _ + "urs" => mkN005 form; _ + "eps" => mkN003 form; _ + "ros" => mkN034 form; _ + "sës" => mkN013 form; _ + "tës" => mkN178 form; _ + "kës" => mkN013 form; _ + "hës" => mkN178 form; _ + "mës" => mkN276 form; _ + "uaj" => mkN147 form; _ + "ngj" => mkN013 form; _ + "egj" => mkN289 form; _ + "inj" => mkN007 form; _ + "unj" => mkN013 form; _ + "rez" => mkN013 form; _ + "mez" => mkN181 form; _ + "laz" => mkN005 form; _ + "vaz" => mkN108 form; _ + "kiz" => mkN034 form; _ + "pëz" => mkN276 form; _ + "raç" => mkN017 form; _ + "jiç" => mkN031 form; _ + "riç" => mkN272 form; _ + "toç" => mkN020 form; _ + "ërç" => mkN012 form; _ + "puç" => mkN017 form; _ + "zof" => mkN034 form; _ + "raf" => mkN074 form; _ + "çaf" => mkN034 form; _ + "haf" => mkN034 form; _ + "omb" => mkN002 form; _ + "ëmb" => mkN031 form; _ + "alb" => mkN020 form; _ + "arb" => mkN007 form; _ + "liq" => mkN002 form; _ + "riq" => mkN007 form; _ + "biq" => mkN034 form; _ + "ciq" => mkN241 form; _ + "kuq" => mkN007 form; _ + "koq" => mkN013 form; _ + "loq" => mkN178 form; _ + "req" => mkN158 form; _ + "tec" => mkN005 form; _ + "nec" => mkN007 form; _ + "mec" => mkN007 form; _ + "hec" => mkN007 form; _ + "rrc" => mkN005 form; _ + "hac" => mkN034 form; _ + "ric" => mkN020 form; _ + "yle" => mkN178 form; _ + "rke" => mkN037 form; _ + "hke" => mkN366 form; _ + "dre" => mkN115 form; _ + "ste" => mkN063 form; _ + "ite" => mkN079 form; _ + "fte" => mkN227 form; _ + "eqe" => mkN118 form; _ + "yqe" => mkN448 form; _ + "ame" => mkN011 form; _ + "ime" => mkN149 form; _ + "xhe" => mkN011 form; _ + "dhe" => mkN149 form; _ + "ahe" => mkN079 form; _ + "epe" => mkN062 form; _ + "hpe" => mkN079 form; _ + "içe" => mkN227 form; _ + "eçe" => mkN227 form; _ + "ese" => mkN241 form; _ + "ëse" => mkN011 form; _ + "oze" => mkN011 form; _ + "ufe" => mkN022 form; _ + "ife" => mkN227 form; _ + "rbe" => mkN037 form; _ + "ebe" => mkN037 form; _ + "jde" => mkN202 form; _ + "ace" => mkN037 form; _ + "gje" => mkN062 form; _ + "aje" => mkN079 form; _ + "oje" => mkN079 form; _ + "mje" => mkN079 form; _ + "eje" => mkN079 form; _ + "rne" => mkN127 form; _ + "ura" => mkN023 form; _ + "ota" => mkN149 form; _ + "rna" => mkN076 form; _ + "kua" => mkN350 form; _ + "dua" => mkN350 form; _ + "ino" => mkN008 form; _ + "ano" => mkN032 form; _ + "ëro" => mkN020 form; _ + "vro" => mkN118 form; _ + "oro" => mkN182 form; _ + "ito" => mkN182 form; _ + "duk" => mkN064 form; _ + "tik" => mkN052 form; _ + "mik" => mkN050 form; _ + "pik" => mkN052 form; _ + "zik" => mkN053 form; _ + "lik" => mkN104 form; _ + "jak" => mkN031 form; _ + "dak" => mkN034 form; _ + "cak" => mkN064 form; _ + "kak" => mkN053 form; _ + "pak" => mkN064 form; _ + "mak" => mkN064 form; _ + "tak" => mkN225 form; _ + "hek" => mkN052 form; _ + "sek" => mkN218 form; _ + "nek" => mkN225 form; _ + "nok" => mkN052 form; _ + "fok" => mkN052 form; _ + "hok" => mkN064 form; _ + "dok" => mkN064 form; _ + "çok" => mkN064 form; _ + "ork" => mkN104 form; _ + "urk" => mkN179 form; _ + "tëk" => mkN064 form; _ + "lsi" => mkN040 form; _ + "rsi" => mkN073 form; _ + "isi" => mkN149 form; _ + "jsi" => mkN106 form; _ + "psi" => mkN106 form; _ + "ari" => mkN040 form; _ + "ëri" => mkN152 form; _ + "uri" => mkN149 form; _ + "rri" => mkN040 form; _ + "bri" => mkN106 form; _ + "mri" => mkN106 form; _ + "xhi" => mkN245 form; _ + "kçi" => mkN230 form; _ + "lçi" => mkN106 form; _ + "rpi" => mkN040 form; _ + "epi" => mkN040 form; _ + "api" => mkN154 form; _ + "opi" => mkN173 form; _ + "hni" => mkN040 form; _ + "oni" => mkN152 form; _ + "uni" => mkN152 form; _ + "sti" => mkN040 form; _ + "mti" => mkN106 form; _ + "ati" => mkN106 form; _ + "nji" => mkN149 form; _ + "rmi" => mkN173 form; _ + "ami" => mkN236 form; _ + "omi" => mkN152 form; _ + "kmi" => mkN106 form; _ + "ili" => mkN040 form; _ + "lli" => mkN106 form; _ + "uli" => mkN127 form; _ + "eli" => mkN149 form; _ + "ufi" => mkN042 form; _ + "sqi" => mkN238 form; _ + "adi" => mkN082 form; _ + "edi" => mkN082 form; _ + "evi" => mkN082 form; _ + "ëzi" => mkN236 form; _ + "lig" => mkN241 form; _ + "ung" => mkN014 form; _ + "ing" => mkN052 form; _ + "rug" => mkN014 form; _ + "hog" => mkN034 form; _ + "leg" => mkN014 form; _ + "heg" => mkN052 form; _ + "teg" => mkN086 form; _ + "elg" => mkN247 form; _ + "htë" => mkN109 form; _ + "utë" => mkN109 form; _ + "itë" => mkN109 form; _ + "ltë" => mkN109 form; _ + "ptë" => mkN255 form; _ + "epë" => mkN148 form; _ + "ypë" => mkN071 form; _ + "apë" => mkN109 form; _ + "spë" => mkN109 form; _ + "lpë" => mkN163 form; _ + "fnë" => mkN071 form; _ + "rnë" => mkN109 form; _ + "ikë" => mkN071 form; _ + "dkë" => mkN071 form; _ + "çkë" => mkN249 form; _ + "rsë" => mkN109 form; _ + "asë" => mkN109 form; _ + "ysë" => mkN249 form; _ + "smë" => mkN109 form; _ + "zmë" => mkN109 form; _ + "omë" => mkN109 form; _ + "kmë" => mkN109 form; _ + "umë" => mkN109 form; _ + "emë" => mkN146 form; _ + "rrë" => mkN109 form; _ + "irë" => mkN109 form; _ + "orë" => mkN109 form; _ + "prë" => mkN109 form; _ + "lvë" => mkN071 form; _ + "ovë" => mkN175 form; _ + "ivë" => mkN191 form; _ + "uvë" => mkN249 form; _ + "vzë" => mkN071 form; _ + "jzë" => mkN109 form; _ + "rzë" => mkN109 form; _ + "ozë" => mkN109 form; _ + "lzë" => mkN249 form; _ + "gzë" => mkN279 form; _ + "uhë" => mkN201 form; _ + "ajë" => mkN109 form; _ + "ôjë" => mkN109 form; _ + "yjë" => mkN109 form; _ + "ujë" => mkN109 form; _ + "âjë" => mkN175 form; _ + "ilë" => mkN071 form; _ + "ylë" => mkN130 form; _ + "hcë" => mkN129 form; _ + "gcë" => mkN249 form; _ + "ugë" => mkN249 form; _ + "igë" => mkN109 form; _ + "hgë" => mkN109 form; _ + "sgë" => mkN109 form; _ + "ogë" => mkN109 form; _ + "zgë" => mkN109 form; _ + "rgë" => mkN109 form; _ + "ifë" => mkN191 form; _ + "hdë" => mkN109 form; _ + "adë" => mkN249 form; _ + "rdë" => mkN249 form; _ + "mbë" => mkN146 form; _ + "nxë" => mkN398 form; _ + "oçë" => mkN109 form; _ + "fçë" => mkN249 form; _ + "sh" => mkN017 form; _ + "xh" => mkN034 form; _ + "dh" => mkN013 form; _ + "eh" => mkN012 form; _ + "ah" => mkN041 form; _ + "ot" => mkN020 form; _ + "st" => mkN031 form; _ + "ht" => mkN020 form; _ + "rt" => mkN020 form; _ + "it" => mkN007 form; _ + "ut" => mkN031 form; _ + "pt" => mkN005 form; _ + "mt" => mkN020 form; _ + "ët" => mkN031 form; _ + "lt" => mkN074 form; _ + "ad" => mkN005 form; _ + "vd" => mkN005 form; _ + "ud" => mkN020 form; _ + "rr" => mkN002 form; _ + "ir" => mkN007 form; _ + "ër" => mkN137 form; _ + "al" => mkN031 form; _ + "el" => mkN002 form; _ + "ul" => mkN205 form; _ + "il" => mkN013 form; _ + "jl" => mkN007 form; _ + "ël" => mkN137 form; _ + "yl" => mkN013 form; _ + "ol" => mkN020 form; _ + "um" => mkN020 form; _ + "ëm" => mkN237 form; _ + "am" => mkN031 form; _ + "lm" => mkN013 form; _ + "ym" => mkN017 form; _ + "tm" => mkN020 form; _ + "sm" => mkN031 form; _ + "up" => mkN002 form; _ + "ap" => mkN017 form; _ + "rp" => mkN017 form; _ + "lp" => mkN020 form; _ + "yp" => mkN034 form; _ + "un" => mkN458 form; _ + "en" => mkN002 form; _ + "on" => mkN002 form; _ + "ën" => mkN137 form; _ + "jn" => mkN031 form; _ + "us" => mkN002 form; _ + "is" => mkN002 form; _ + "ks" => mkN020 form; _ + "ns" => mkN002 form; _ + "rs" => mkN013 form; _ + "ds" => mkN003 form; _ + "ps" => mkN013 form; _ + "os" => mkN031 form; _ + "és" => mkN031 form; _ + "hj" => mkN031 form; _ + "yj" => mkN069 form; _ + "ej" => mkN116 form; _ + "ez" => mkN002 form; _ + "az" => mkN002 form; _ + "iz" => mkN002 form; _ + "uz" => mkN005 form; _ + "oz" => mkN007 form; _ + "nz" => mkN027 form; _ + "jz" => mkN031 form; _ + "aç" => mkN002 form; _ + "yç" => mkN002 form; _ + "ëç" => mkN005 form; _ + "rç" => mkN020 form; _ + "nç" => mkN013 form; _ + "mç" => mkN013 form; _ + "fç" => mkN013 form; _ + "uç" => mkN020 form; _ + "eç" => mkN020 form; _ + "pç" => mkN272 form; _ + "of" => mkN002 form; _ + "af" => mkN005 form; _ + "rf" => mkN005 form; _ + "ef" => mkN005 form; _ + "ob" => mkN005 form; _ + "lb" => mkN005 form; _ + "ub" => mkN017 form; _ + "ab" => mkN060 form; _ + "lq" => mkN002 form; _ + "oq" => mkN020 form; _ + "aq" => mkN020 form; _ + "eq" => mkN552 form; _ + "ec" => mkN013 form; _ + "yc" => mkN007 form; _ + "uc" => mkN013 form; _ + "le" => mkN011 form; _ + "ke" => mkN011 form; _ + "te" => mkN011 form; _ + "qe" => mkN011 form; _ + "pe" => mkN011 form; _ + "çe" => mkN048 form; _ + "ye" => mkN032 form; _ + "ce" => mkN048 form; _ + "ge" => mkN048 form; _ + "je" => mkN188 form; _ + "ne" => mkN563 form; _ + "ie" => mkN079 form; _ + "oe" => mkN227 form; _ + "ue" => mkN536 form; _ + "ba" => mkN032 form; _ + "la" => mkN039 form; _ + "na" => mkN149 form; _ + "da" => mkN097 form; _ + "va" => mkN118 form; _ + "ja" => mkN118 form; _ + "ua" => mkN195 form; _ + "no" => mkN020 form; _ + "ko" => mkN032 form; _ + "ho" => mkN095 form; _ + "hk" => mkN104 form; _ + "uk" => mkN052 form; _ + "ik" => mkN064 form; _ + "ek" => mkN064 form; _ + "rk" => mkN053 form; _ + "sk" => mkN053 form; _ + "ëk" => mkN226 form; _ + "lk" => mkN104 form; _ + "tk" => mkN179 form; _ + "jk" => mkN183 form; _ + "yk" => mkN533 form; _ + "si" => mkN152 form; _ + "hi" => mkN106 form; _ + "çi" => mkN010 form; _ + "ji" => mkN152 form; _ + "fi" => mkN152 form; _ + "qi" => mkN042 form; _ + "di" => mkN106 form; _ + "vi" => mkN106 form; _ + "zi" => mkN152 form; _ + "og" => mkN064 form; _ + "kë" => mkN109 form; _ + "hë" => mkN109 form; _ + "lë" => mkN109 form; _ + "cë" => mkN109 form; _ + "bë" => mkN109 form; _ + "hu" => mkN118 form; _ + "h" => mkN002 form; _ + "t" => mkN002 form; _ + "d" => mkN002 form; _ + "r" => mkN031 form; _ + "l" => mkN122 form; _ + "m" => mkN002 form; _ + "p" => mkN013 form; _ + "n" => mkN034 form; _ + "s" => mkN070 form; _ + "j" => mkN002 form; _ + "z" => mkN009 form; _ + "ç" => mkN007 form; _ + "f" => mkN031 form; _ + "v" => mkN002 form; _ + "b" => mkN013 form; _ + "q" => mkN005 form; _ + "x" => mkN003 form; _ + "c" => mkN017 form; _ + "e" => mkN028 form; _ + "a" => mkN008 form; _ + "o" => mkN023 form; _ + "k" => mkN041 form; _ + "i" => mkN059 form; _ + "g" => mkN047 form; _ + "ë" => mkN072 form; _ + "y" => mkN036 form; _ + "u" => mkN042 form; _ + "â" => mkN538 form; _ => error "Cannot find an inflection rule" } ; reg2N : Str -> Str -> N -- s;Indef;Nom;Sg s;Indef;Nom;Pl = \form1, form2 -> case of { <_ + "mër", _ + "ëra"> => mkN009 form1; <_ + "orë", _ + "ëra"> => mkN110 form1; <_ + "adë", _ + "ada"> => mkN129 form1; <_ + "ikë", _ + "ra"> => mkN110 form1; <_ + "ltë", _ + "ra"> => mkN110 form1; <_ + "ozë", _ + "ra"> => mkN169 form1; <_ + "ill", _ + "ë"> => mkN007 form1; <_ + "ill", _ + "j"> => mkN177 form1; <_ + "tan", _ + "ë"> => mkN034 form1; <_ + "kat", _ + "e"> => mkN002 form1; <_ + "kat", _ + "a"> => mkN013 form1; <_ + "kat", _ + "ë"> => mkN031 form1; <_ + "han", _ + "ë"> => mkN007 form1; <_ + "han", _ + "a"> => mkN017 form1; <_ + "des", _ + "e"> => mkN002 form1; <_ + "raf", _ + "e"> => mkN002 form1; <_ + "raf", _ + "ë"> => mkN007 form1; <_ + "lor", _ + "e"> => mkN002 form1; <_ + "rap", _ + "e"> => mkN002 form1; <_ + "rap", _ + "a"> => mkN013 form1; <_ + "kth", _ + "e"> => mkN002 form1; <_ + "kth", _ + "a"> => mkN017 form1; <_ + "ërr", _ + "e"> => mkN002 form1; <_ + "ërr", _ + "ë"> => mkN295 form1; <_ + "eth", _ + "a"> => mkN013 form1; <_ + "eth", _ + "ë"> => mkN031 form1; <_ + "ham", _ + "e"> => mkN002 form1; <_ + "ham", _ + "ë"> => mkN007 form1; <_ + "orr", _ + "e"> => mkN005 form1; <_ + "gur", _ + "ë"> => mkN031 form1; <_ + "gan", _ + "e"> => mkN005 form1; <_ + "lat", _ + "ë"> => mkN034 form1; <_ + "rar", _ + "e"> => mkN005 form1; <_ + "adh", _ + "a"> => mkN013 form1; <_ + "adh", _ + "ë"> => mkN031 form1; <_ + "rdh", _ + "ë"> => mkN034 form1; <_ + "rip", _ + "a"> => mkN013 form1; <_ + "esh", _ + "e"> => mkN005 form1; <_ + "esh", _ + "a"> => mkN017 form1; <_ + "esh", _ + "i"> => mkN546 form1; <_ + "par", _ + "e"> => mkN005 form1; <_ + "bet", _ + "e"> => mkN005 form1; <_ + "gth", _ + "a"> => mkN013 form1; <_ + "kul", _ + "e"> => mkN005 form1; <_ + "ash", _ + "ë"> => mkN007 form1; <_ + "ash", _ + "a"> => mkN012 form1; <_ + "kan", _ + "ë"> => mkN007 form1; <_ + "kan", _ + "a"> => mkN131 form1; <_ + "hor", _ + "e"> => mkN205 form1; <_ + "les", _ + "ë"> => mkN007 form1; <_ + "ith", _ + "a"> => mkN012 form1; <_ + "yes", _ + "ë"> => mkN007 form1; <_ + "hec", _ + "a"> => mkN017 form1; <_ + "mer", _ + "r"> => mkN149 form1; <_ + "mër", _ + "i"> => mkN435 form1; <_ + "ari", _ + "j"> => mkN010 form1; <_ + "ari", _ + "a"> => mkN057 form1; <_ + "ari", _ + "i"> => mkN106 form1; <_ + "xhi", _ + "i"> => mkN066 form1; <_ + "rpi", _ + "j"> => mkN010 form1; <_ + "rpi", _ + "i"> => mkN059 form1; <_ + "ese", _ + "e"> => mkN011 form1; <_ + "ese", _ + "a"> => mkN313 form1; <_ + "lon", _ + "a"> => mkN012 form1; <_ + "ërç", _ + "i"> => mkN498 form1; <_ + "jer", _ + "a"> => mkN013 form1; <_ + "ngj", _ + "r"> => mkN274 form1; <_ + "tës", _ + "a"> => mkN017 form1; <_ + "kës", _ + "ë"> => mkN034 form1; <_ + "leg", _ + "ë"> => mkN064 form1; <_ + "ren", _ + "a"> => mkN017 form1; <_ + "hin", _ + "ë"> => mkN031 form1; <_ + "hël", _ + "a"> => mkN017 form1; <_ + "raç", _ + "ë"> => mkN031 form1; <_ + "hës", _ + "a"> => mkN017 form1; <_ + "bel", _ + "ë"> => mkN031 form1; <_ + "bel", _ + "e"> => mkN417 form1; <_ + "oll", _ + "j"> => mkN177 form1; <_ + "gsh", _ + "a"> => mkN057 form1; <_ + "nor", _ + "a"> => mkN078 form1; <_ + "hap", _ + "ë"> => mkN034 form1; <_ + "tur", _ + "a"> => mkN136 form1; <_ + "dhe", _ + "a"> => mkN107 form1; <_ + "dhe", _ + "j"> => mkN245 form1; <_ + "mam", _ + "ë"> => mkN031 form1; <_ + "let", _ + "ë"> => mkN031 form1; <_ + "zan", _ + "a"> => mkN272 form1; <_ + "ban", _ + "e"> => mkN074 form1; <_ + "ban", _ + "i"> => mkN336 form1; <_ + "cak", _ + "ë"> => mkN034 form1; <_ + "cak", _ + "e"> => mkN104 form1; <_ + "rbe", _ + "e"> => mkN079 form1; <_ + "ace", _ + "e"> => mkN063 form1; <_ + "ebe", _ + "e"> => mkN202 form1; <_ + "rah", _ + "ë"> => mkN064 form1; <_ + "ëri", _ + "j"> => mkN042 form1; <_ + "ëri", _ + "a"> => mkN057 form1; <_ + "ëri", _ + "i"> => mkN059 form1; <_ + "uri", _ + "j"> => mkN115 form1; <_ + "hni", _ + "i"> => mkN059 form1; <_ + "rri", _ + "i"> => mkN059 form1; <_ + "pik", _ + "ë"> => mkN041 form1; <_ + "pik", _ + "a"> => mkN277 form1; <_ + "tik", _ + "ë"> => mkN041 form1; <_ + "ing", _ + "a"> => mkN277 form1; <_ + "ami", _ + "i"> => mkN059 form1; <_ + "omi", _ + "i"> => mkN059 form1; <_ + "omi", _ + "a"> => mkN156 form1; <_ + "lli", _ + "j"> => mkN245 form1; <_ + "epë", _ + "a"> => mkN072 form1; <_ + "gje", _ + "j"> => mkN115 form1; <_ + "për", _ + "j"> => mkN208 form1; <_ + "ikë", _ + "a"> => mkN072 form1; <_ + "rrë", _ + "ë"> => mkN146 form1; <_ + "rrë", _ + "t"> => mkN162 form1; <_ + "rrë", _ + "e"> => mkN222 form1; <_ + "irë", _ + "ë"> => mkN163 form1; <_ + "orë", _ + "ë"> => mkN146 form1; <_ + "apë", _ + "ë"> => mkN148 form1; <_ + "ajë", _ + "e"> => mkN132 form1; <_ + "ajë", _ + "ë"> => mkN146 form1; <_ + "ilë", _ + "a"> => mkN072 form1; <_ + "htë", _ + "e"> => mkN132 form1; <_ + "htë", _ + "ë"> => mkN178 form1; <_ + "zmë", _ + "ë"> => mkN146 form1; <_ + "itë", _ + "ë"> => mkN146 form1; <_ + "itë", _ + "e"> => mkN355 form1; <_ + "ugë", _ + "ë"> => mkN146 form1; <_ + "mbë", _ + "a"> => mkN072 form1; <_ + "rsi", _ + "i"> => mkN106 form1; <_ + "ran", _ + "j"> => mkN243 form1; <_ + "isi", _ + "i"> => mkN090 form1; <_ + "rnë", _ + "ë"> => mkN175 form1; <_ + "rzë", _ + "ë"> => mkN175 form1; <_ + "ogë", _ + "ë"> => mkN149 form1; <_ + "ogë", _ + "e"> => mkN364 form1; <_ + "umë", _ + "ë"> => mkN163 form1; <_ + "rgë", _ + "ë"> => mkN146 form1; <_ + "oni", _ + "i"> => mkN238 form1; <_ + "api", _ + "j"> => mkN236 form1; <_ + "lpë", _ + "a"> => mkN191 form1; <_ + "lig", _ + "e"> => mkN247 form1; <_ + "ër", _ + "ëra"> => mkN009 form1; <_ + "le", _ + "ile"> => mkN028 form1; <_ + "ël", _ + "ëla"> => mkN009 form1; <_ + "te", _ + "ate"> => mkN028 form1; <_ + "te", _ + "jte"> => mkN028 form1; <_ + "te", _ + "rte"> => mkN028 form1; <_ + "qe", _ + "oqe"> => mkN028 form1; <_ + "qe", _ + "lqe"> => mkN028 form1; <_ + "hi", _ + "thi"> => mkN059 form1; <_ + "ën", _ + "mna"> => mkN112 form1; <_ + "hë", _ + "iha"> => mkN072 form1; <_ + "hë", _ + "oha"> => mkN072 form1; <_ + "hë", _ + "tha"> => mkN072 form1; <_ + "hë", _ + "xhë"> => mkN246 form1; <_ + "kë", _ + "uka"> => mkN072 form1; <_ + "kë", _ + "oka"> => mkN072 form1; <_ + "kë", _ + "ska"> => mkN072 form1; <_ + "kë", _ + "jka"> => mkN072 form1; <_ + "kë", _ + "pka"> => mkN072 form1; <_ + "kë", _ + "tka"> => mkN072 form1; <_ + "kë", _ + "skë"> => mkN148 form1; <_ + "kë", _ + "ekë"> => mkN175 form1; <_ + "kë", _ + "akë"> => mkN201 form1; <_ + "lë", _ + "ala"> => mkN072 form1; <_ + "lë", _ + "rla"> => mkN072 form1; <_ + "lë", _ + "ele"> => mkN222 form1; <_ + "cë", _ + "nca"> => mkN072 form1; <_ + "cë", _ + "rca"> => mkN072 form1; <_ + "cë", _ + "mca"> => mkN072 form1; <_ + "cë", _ + "eca"> => mkN072 form1; <_ + "bë", _ + "aba"> => mkN072 form1; <_ + "bë", _ + "rba"> => mkN072 form1; <_ + "je", _ + "hja"> => mkN313 form1; <_ + "en", _ + "je"> => mkN030 form1; <_ + "ht", _ + "ra"> => mkN081 form1; <_ + "sh", _ + "ra"> => mkN089 form1; <_ + "le", _ + "ja"> => mkN155 form1; <_ + "ym", _ + "ra"> => mkN081 form1; <_ + "hë", _ + "ra"> => mkN184 form1; <_ + "al", _ + "e"> => mkN002 form1; <_ + "al", _ + "a"> => mkN017 form1; <_ + "ot", _ + "e"> => mkN002 form1; <_ + "ot", _ + "a"> => mkN017 form1; <_ + "ot", _ + "ë"> => mkN031 form1; <_ + "up", _ + "a"> => mkN013 form1; <_ + "un", _ + "e"> => mkN002 form1; <_ + "un", _ + "a"> => mkN017 form1; <_ + "is", _ + "ë"> => mkN034 form1; <_ + "st", _ + "e"> => mkN002 form1; <_ + "rr", _ + "a"> => mkN017 form1; <_ + "rr", _ + "i"> => mkN120 form1; <_ + "aç", _ + "ç"> => mkN134 form1; <_ + "aç", _ + "r"> => mkN219 form1; <_ + "en", _ + "ë"> => mkN031 form1; <_ + "en", _ + "n"> => mkN069 form1; <_ + "on", _ + "ë"> => mkN007 form1; <_ + "ht", _ + "e"> => mkN002 form1; <_ + "ht", _ + "a"> => mkN013 form1; <_ + "um", _ + "e"> => mkN002 form1; <_ + "um", _ + "a"> => mkN017 form1; <_ + "ks", _ + "e"> => mkN002 form1; <_ + "ks", _ + "a"> => mkN057 form1; <_ + "iz", _ + "a"> => mkN013 form1; <_ + "ëm", _ + "e"> => mkN002 form1; <_ + "ëm", _ + "a"> => mkN068 form1; <_ + "sh", _ + "e"> => mkN002 form1; <_ + "sh", _ + "ë"> => mkN031 form1; <_ + "sh", _ + "i"> => mkN120 form1; <_ + "xh", _ + "e"> => mkN002 form1; <_ + "dh", _ + "e"> => mkN002 form1; <_ + "dh", _ + "ë"> => mkN007 form1; <_ + "ez", _ + "ë"> => mkN007 form1; <_ + "am", _ + "e"> => mkN002 form1; <_ + "am", _ + "a"> => mkN017 form1; <_ + "ir", _ + "e"> => mkN005 form1; <_ + "ut", _ + "e"> => mkN005 form1; <_ + "ut", _ + "a"> => mkN013 form1; <_ + "uz", _ + "ë"> => mkN007 form1; <_ + "lb", _ + "a"> => mkN089 form1; <_ + "lm", _ + "e"> => mkN005 form1; <_ + "ër", _ + "e"> => mkN005 form1; <_ + "ër", _ + "r"> => mkN271 form1; <_ + "ër", _ + "ë"> => mkN295 form1; <_ + "oz", _ + "e"> => mkN005 form1; <_ + "os", _ + "ë"> => mkN007 form1; <_ + "it", _ + "e"> => mkN027 form1; <_ + "it", _ + "r"> => mkN289 form1; <_ + "ec", _ + "ë"> => mkN007 form1; <_ + "le", _ + "a"> => mkN313 form1; <_ + "le", _ + "é"> => mkN310 form1; <_ + "ël", _ + "i"> => mkN435 form1; <_ + "hk", _ + "a"> => mkN009 form1; <_ + "hk", _ + "ë"> => mkN041 form1; <_ + "hk", _ + "q"> => mkN183 form1; <_ + "si", _ + "a"> => mkN009 form1; <_ + "si", _ + "i"> => mkN059 form1; <_ + "pe", _ + "j"> => mkN042 form1; <_ + "eh", _ + "e"> => mkN225 form1; <_ + "ps", _ + "s"> => mkN113 form1; <_ + "il", _ + "ë"> => mkN034 form1; <_ + "og", _ + "e"> => mkN047 form1; <_ + "og", _ + "g"> => mkN479 form1; <_ + "hi", _ + "a"> => mkN107 form1; <_ + "uk", _ + "a"> => mkN017 form1; <_ + "uk", _ + "ë"> => mkN041 form1; <_ + "rç", _ + "a"> => mkN017 form1; <_ + "uç", _ + "e"> => mkN027 form1; <_ + "ik", _ + "q"> => mkN050 form1; <_ + "ek", _ + "e"> => mkN218 form1; <_ + "ën", _ + "ë"> => mkN034 form1; <_ + "ën", _ + "j"> => mkN208 form1; <_ + "ah", _ + "e"> => mkN038 form1; <_ + "ji", _ + "i"> => mkN059 form1; <_ + "ji", _ + "a"> => mkN156 form1; <_ + "ji", _ + "g"> => mkN479 form1; <_ + "qi", _ + "i"> => mkN059 form1; <_ + "ge", _ + "a"> => mkN335 form1; <_ + "hë", _ + "ë"> => mkN148 form1; <_ + "hë", _ + "e"> => mkN194 form1; <_ + "kë", _ + "ë"> => mkN146 form1; <_ + "lë", _ + "j"> => mkN115 form1; <_ + "lë", _ + "ë"> => mkN146 form1; <_ + "lë", _ + "t"> => mkN162 form1; <_ + "lë", _ + "e"> => mkN194 form1; <_ + "cë", _ + "ë"> => mkN146 form1; <_ + "je", _ + "a"> => mkN101 form1; <_ + "t", _ + "eta"> => mkN017 form1; <_ + "r", _ + "ure"> => mkN005 form1; <_ + "r", _ + "ara"> => mkN017 form1; <_ + "r", _ + "ori"> => mkN120 form1; <_ + "l", _ + "oje"> => mkN252 form1; <_ + "l", _ + "yej"> => mkN207 form1; <_ + "l", _ + "gaj"> => mkN058 form1; <_ + "l", _ + "jaj"> => mkN177 form1; <_ + "l", _ + "huj"> => mkN207 form1; <_ + "l", _ + "fuj"> => mkN207 form1; <_ + "l", _ + "zuj"> => mkN207 form1; <_ + "l", _ + "këj"> => mkN207 form1; <_ + "m", _ + "ema"> => mkN013 form1; <_ + "m", _ + "rmë"> => mkN108 form1; <_ + "n", _ + "ane"> => mkN074 form1; <_ + "ë", _ + "amë"> => mkN163 form1; <_ + "ë", _ + "etë"> => mkN148 form1; <_ + "ë", _ + "anë"> => mkN148 form1; <_ + "ë", _ + "ijë"> => mkN246 form1; <_ + "ë", _ + "ngë"> => mkN201 form1; <_ + "ë", _ + "isë"> => mkN175 form1; <_ + "ë", _ + "arë"> => mkN149 form1; <_ + "ë", _ + "ërë"> => mkN149 form1; <_ + "ë", _ + "éza"> => mkN447 form1; <_ + "t", _ + "je"> => mkN030 form1; <_ + "t", _ + "ra"> => mkN081 form1; <_ + "l", _ + "je"> => mkN006 form1; <_ + "l", _ + "ra"> => mkN081 form1; <_ + "j", _ + "ra"> => mkN089 form1; <_ + "e", _ + "ré"> => mkN310 form1; <_ + "e", _ + "ja"> => mkN155 form1; <_ + "e", _ + "ra"> => mkN366 form1; <_ + "ë", _ + "ëë"> => mkN031 form1; <_ + "ë", _ + "gë"> => mkN148 form1; <_ + "ë", _ + "rë"> => mkN175 form1; <_ + "h", _ + "a"> => mkN013 form1; <_ + "h", _ + "h"> => mkN070 form1; <_ + "t", _ + "a"> => mkN012 form1; <_ + "t", _ + "ë"> => mkN031 form1; <_ + "t", _ + "i"> => mkN120 form1; <_ + "t", _ + "r"> => mkN158 form1; <_ + "d", _ + "ë"> => mkN031 form1; <_ + "d", _ + "a"> => mkN136 form1; <_ + "d", _ + "d"> => mkN178 form1; <_ + "d", _ + "r"> => mkN274 form1; <_ + "r", _ + "e"> => mkN002 form1; <_ + "r", _ + "a"> => mkN013 form1; <_ + "r", _ + "i"> => mkN265 form1; <_ + "r", _ + "r"> => mkN147 form1; <_ + "l", _ + "e"> => mkN002 form1; <_ + "l", _ + "ë"> => mkN034 form1; <_ + "l", _ + "a"> => mkN009 form1; <_ + "m", _ + "a"> => mkN017 form1; <_ + "m", _ + "ë"> => mkN031 form1; <_ + "m", _ + "i"> => mkN120 form1; <_ + "s", _ + "e"> => mkN002 form1; <_ + "s", _ + "a"> => mkN013 form1; <_ + "s", _ + "i"> => mkN336 form1; <_ + "s", _ + "ë"> => mkN521 form1; <_ + "n", _ + "e"> => mkN002 form1; <_ + "n", _ + "a"> => mkN013 form1; <_ + "j", _ + "a"> => mkN009 form1; <_ + "j", _ + "i"> => mkN054 form1; <_ + "b", _ + "e"> => mkN002 form1; <_ + "p", _ + "e"> => mkN002 form1; <_ + "q", _ + "r"> => mkN274 form1; <_ + "z", _ + "e"> => mkN002 form1; <_ + "z", _ + "z"> => mkN178 form1; <_ + "c", _ + "ë"> => mkN007 form1; <_ + "e", _ + "é"> => mkN022 form1; <_ + "e", _ + "a"> => mkN101 form1; <_ + "i", _ + "j"> => mkN010 form1; <_ + "g", _ + "a"> => mkN012 form1; <_ + "g", _ + "ë"> => mkN064 form1; <_ + "g", _ + "j"> => mkN086 form1; <_ + "f", _ + "a"> => mkN013 form1; <_ + "ë", _ + "ë"> => mkN146 form1; <_ + "ë", _ + "e"> => mkN222 form1; <_ + "k", _ + "e"> => mkN053 form1; _ => regN form1 } ; regA : Str -> A -- s;Nom;Masc;Sg = \form -> case form of { _ + "kan" => mkA004 form; _ + "fën" => mkA011 form; _ + "bël" => mkA011 form; _ + "bel" => mkA004 form; _ + "ërt" => mkA003 form; _ + "gët" => mkA009 form; _ + "nor" => mkA001 form; _ + "ior" => mkA015 form; _ + "uar" => mkA009 form; _ + "kur" => mkA009 form; _ + "çur" => mkA009 form; _ + "rur" => mkA009 form; _ + "tër" => mkA001 form; _ + "hër" => mkA003 form; _ + "jër" => mkA009 form; _ + "lëm" => mkA001 form; _ + "adh" => mkA014 form; _ + "riq" => mkA004 form; _ + "arë" => mkA013 form; _ + "ërë" => mkA013 form; _ + "orë" => mkA026 form; _ + "emë" => mkA028 form; _ + "atë" => mkA013 form; _ + "etë" => mkA013 form; _ + "ctë" => mkA003 form; _ + "ftë" => mkA013 form; _ + "ntë" => mkA013 form; _ + "utë" => mkA013 form; _ + "ytë" => mkA013 form; _ + "ktë" => mkA013 form; _ + "anë" => mkA013 form; _ + "thë" => mkA013 form; _ + "shë" => mkA027 form; _ + "und" => mkA003 form; _ + "ond" => mkA004 form; _ + "uaj" => mkA009 form; _ + "al" => mkA004 form; _ + "ke" => mkA001 form; _ + "re" => mkA020 form; _ + "kt" => mkA004 form; _ + "it" => mkA004 form; _ + "lt" => mkA009 form; _ + "ar" => mkA001 form; _ + "er" => mkA001 form; _ + "rr" => mkA001 form; _ + "ur" => mkA001 form; _ + "ër" => mkA011 form; _ + "nk" => mkA001 form; _ + "ok" => mkA001 form; _ + "ek" => mkA001 form; _ + "ak" => mkA001 form; _ + "uk" => mkA001 form; _ + "rk" => mkA001 form; _ + "lm" => mkA001 form; _ + "am" => mkA001 form; _ + "um" => mkA001 form; _ + "im" => mkA001 form; _ + "rm" => mkA001 form; _ + "ib" => mkA004 form; _ + "dë" => mkA013 form; _ + "la" => mkA001 form; _ + "aj" => mkA006 form; _ + "n" => mkA001 form; _ + "l" => mkA001 form; _ + "e" => mkA003 form; _ + "g" => mkA001 form; _ + "t" => mkA001 form; _ + "s" => mkA001 form; _ + "r" => mkA004 form; _ + "p" => mkA001 form; _ + "k" => mkA004 form; _ + "v" => mkA004 form; _ + "c" => mkA001 form; _ + "ëm" => mkA005 form; _ + "f" => mkA001 form; _ + "i" => mkA001 form; _ + "h" => mkA001 form; _ + "ç" => mkA001 form; _ + "b" => mkA001 form; _ + "z" => mkA001 form; _ + "q" => mkA001 form; _ + "ë" => mkA013 form; _ + "d" => mkA001 form; _ + "a" => mkA003 form; _ + "j" => mkA003 form; _ => error "Cannot find an inflection rule" } ; reg2A : Str -> Str -> A -- s;Nom;Masc;Sg s;Nom;Masc;Pl = \form1, form2 -> case of { <_ + "adh", _ + "h"> => mkA001 form1; <_ + "nor", _ + "ë"> => mkA004 form1; <_ + "re", _ + "yre"> => mkA003 form1; <_ + "al", _ + "l"> => mkA001 form1; <_ + "ar", _ + "ë"> => mkA004 form1; <_ + "ek", _ + "e"> => mkA019 form1; <_ + "ak", _ + "ë"> => mkA004 form1; <_ + "n", _ + "ë"> => mkA004 form1; <_ + "n", _ + "e"> => mkA019 form1; <_ + "t", _ + "ë"> => mkA004 form1; <_ + "r", _ + "r"> => mkA001 form1; <_ + "r", _ + "e"> => mkA015 form1; <_ + "v", _ + "v"> => mkA001 form1; <_ + "k", _ + "k"> => mkA001 form1; <_ + "ë", _ + "i"> => mkA026 form1; <_ + "ë", _ + "a"> => mkA027 form1; _ => regA form1 } ; regV : Str -> V -- Indicative;Pres;Sg;P1 = \form -> case form of { _ + "rap" => mkV013 form; _ + "jep" => mkV036 form; _ + "ket" => mkV078 form; _ + "tet" => mkV078 form; _ + "ell" => mkV049 form; _ + "jel" => mkV049 form; _ + "ish" => mkV059 form; _ + "rih" => mkV014 form; _ + "edh" => mkV026 form; _ + "jeh" => mkV014 form; _ + "doh" => mkV007 form; _ + "err" => mkV049 form; _ + "qyr" => mkV001 form; _ + "jas" => mkV004 form; _ + "mas" => mkV015 form; _ + "bys" => mkV004 form; _ + "hys" => mkV004 form; _ + "res" => mkV022 form; _ + "des" => mkV014 form; _ + "hes" => mkV022 form; _ + "jes" => mkV034 form; _ + "rag" => mkV018 form; _ + "rej" => mkV007 form; _ + "jej" => mkV007 form; _ + "yej" => mkV044 form; _ + "dej" => mkV054 form; _ + "zej" => mkV086 form; _ + "rgj" => mkV059 form; _ + "dij" => mkV113 form; _ + "uaj" => mkV007 form; _ + "raj" => mkV033 form; _ + "huj" => mkV033 form; _ + "uoj" => mkV050 form; _ + "ënj" => mkV013 form; _ + "qaq" => mkV014 form; _ + "rem" => mkV055 form; _ + "up" => mkV014 form; _ + "al" => mkV064 form; _ + "yl" => mkV014 form; _ + "ah" => mkV014 form; _ + "er" => mkV001 form; _ + "ur" => mkV001 form; _ + "as" => mkV023 form; _ + "is" => mkV004 form; _ + "us" => mkV004 form; _ + "es" => mkV004 form; _ + "ej" => mkV047 form; _ + "gj" => mkV001 form; _ + "ij" => mkV003 form; _ + "aj" => mkV003 form; _ + "yj" => mkV003 form; _ + "uj" => mkV007 form; _ + "nj" => mkV007 form; _ + "om" => mkV001 form; _ + "ym" => mkV001 form; _ + "im" => mkV001 form; _ + "ëm" => mkV001 form; _ + "eb" => mkV014 form; _ + "af" => mkV014 form; _ + "en" => mkV018 form; _ + "on" => mkV070 form; _ + "zë" => mkV118 form; _ + "vë" => mkV118 form; _ + "p" => mkV001 form; _ + "t" => mkV001 form; _ + "d" => mkV001 form; _ + "l" => mkV001 form; _ + "k" => mkV001 form; _ + "h" => mkV001 form; _ + "r" => mkV014 form; _ + "s" => mkV001 form; _ + "g" => mkV001 form; _ + "c" => mkV001 form; _ + "j" => mkV028 form; _ + "q" => mkV001 form; _ + "em" => mkV041 form; _ + "b" => mkV001 form; _ + "f" => mkV001 form; _ + "z" => mkV001 form; _ + "ç" => mkV001 form; _ + "n" => mkV057 form; _ + "ë" => mkV075 form; _ => error "Cannot find an inflection rule" } ; reg2V : Str -> Str -> V -- Indicative;Pres;Sg;P1 participle = \form1, form2 -> case of { <_ + "uaj", _ + "ar"> => mkV032 form1; <_ + "ell", _ + "r"> => mkV001 form1; <_ + "err", _ + "r"> => mkV001 form1; <_ + "rej", _ + "ë"> => mkV003 form1; <_ + "yej", _ + "ë"> => mkV003 form1; <_ + "jej", _ + "ë"> => mkV003 form1; <_ + "rem", _ + "r"> => mkV041 form1; <_ + "as", _ + "sur"> => mkV001 form1; <_ + "ej", _ + "jur"> => mkV001 form1; <_ + "is", _ + "sur"> => mkV001 form1; <_ + "us", _ + "sur"> => mkV001 form1; <_ + "es", _ + "sur"> => mkV001 form1; <_ + "ej", _ + "ur"> => mkV007 form1; <_ + "ej", _ + "ar"> => mkV086 form1; <_ + "us", _ + "të"> => mkV015 form1; <_ + "ij", _ + "er"> => mkV113 form1; <_ + "yj", _ + "të"> => mkV033 form1; <_ + "yj", _ + "në"> => mkV038 form1; <_ + "as", _ + "ë"> => mkV034 form1; <_ + "ej", _ + "ë"> => mkV038 form1; <_ + "ah", _ + "r"> => mkV001 form1; <_ + "us", _ + "ë"> => mkV014 form1; <_ + "ij", _ + "r"> => mkV024 form1; <_ + "aj", _ + "r"> => mkV007 form1; <_ + "m", _ + "mur"> => mkV001 form1; <_ + "l", _ + "rë"> => mkV059 form1; <_ + "j", _ + "ur"> => mkV007 form1; <_ + "p", _ + "ë"> => mkV014 form1; <_ + "t", _ + "ë"> => mkV014 form1; <_ + "l", _ + "ë"> => mkV014 form1; <_ + "k", _ + "ë"> => mkV014 form1; <_ + "h", _ + "ë"> => mkV014 form1; <_ + "s", _ + "ë"> => mkV015 form1; <_ + "r", _ + "r"> => mkV001 form1; <_ + "c", _ + "ë"> => mkV014 form1; <_ + "m", _ + "ë"> => mkV055 form1; _ => regV form1 } ; mkN = overload { mkN : Str -> N = regN; -- s;Indef;Nom;Sg mkN : Str -> Str -> N = reg2N -- s;Indef;Nom;Sg s;Indef;Nom;Pl } ; mkN2 = overload { mkN2 : N -> N2 = \n -> lin N2 n ** {c2=noPrep}; mkN2 : N -> Prep -> N2 = \n,p -> lin N2 n ** {c2=p}; } ; mkPN : Str -> PN = \s -> lin PN {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} ; mkA = overload { mkA : Str -> A = regA; -- s;Nom;Masc;Sg mkA : Str -> Str -> A = reg2A -- s;Nom;Masc;Sg s;Nom;Masc;Pl } ; unartA : A -> A = \a -> a**{clit=False} ; 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; -- Indicative;Pres;Sg;P1 mkV : Str -> Str -> V = reg2V -- Indicative;Pres;Sg;P1 participle } ; 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,c3=noPrep} ; mkV2V : V -> Prep -> Prep -> V2V = \v,p2,p3 -> lin V2V v ** {c2=p2; c3=p3} ; } ; 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} ; } ; 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} ; } ; mkV2A = overload { mkV2A : V -> V2A = \v -> lin V2A v ** {c2,c3=noPrep} ; mkV2A : V -> Prep -> Prep -> V2A = \v,p2,p3 -> lin V2A v ** {c2=p2; c3=p3} ; } ; 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} ; } ; 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=""} ; 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} ; mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; oper mkQuant : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Quant = \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 -> lin Quant { s = table { Nom => table { Masc => table { Sg => f1 ; Pl => f2 } ; Fem => table { Sg => f3 ; Pl => f4 } } ; Acc => table { Masc => table { Sg => f5 ; Pl => f6 } ; Fem => table { Sg => f7 ; Pl => f8 } } ; Dat => table { Masc => table { Sg => f9 ; Pl => f10 } ; Fem => table { Sg => f11 ; Pl => f12 } } ; Ablat => table { Masc => table { Sg => f13 ; Pl => f14 } ; Fem => table { Sg => f15 ; Pl => f16 } } } ; sp = Indef } ; oper mkDet : (_,_,_,_,_,_,_,_ : Str) -> Number -> Det = \f1,f2,f3,f4,f5,f6,f7,f8,n -> lin Det { s = table { Nom => table { Masc => f1 ; Fem => f2 } ; Acc => table { Masc => f3 ; Fem => f4 } ; Dat => table { Masc => f5 ; Fem => f6 } ; Ablat => table { Masc => f7 ; Fem => f8 } } ; sp = Indef ; n = n } ; mkConj : Str -> Conj = \s -> lin Conj {s=s} ; mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; mkPron : (nom,acc,dat,ablat,acc_clit,dat_clit : Str) -> GenNum -> Person -> Pron = \nom,acc,dat,ablat,acc_clit,dat_clit,gn,p -> lin Pron {s = table Case [nom; acc; dat; ablat]; acc_clit = acc_clit; dat_clit = dat_clit; a = {gn=gn; p=p} } ; mkCard : Str -> Card = \s -> lin Card {s=s} ; mkACard : Str -> ACard = \s -> lin ACard {s=s} ; mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; mkPrep : Str -> Prep = \s -> lin Prep {s=s} ; noPrep : Prep = lin Prep {s=""} ; }