resource ParadigmsKaz = MorphoKaz ** open Prelude, CatKaz, ResKaz in { oper regN : Str -> N = \form -> case form of { _ + "пап" => mkN001 form; _ + "нып" => mkN028 form; _ + "ірт" => mkN007 form; _ + "ілт" => mkN007 form; _ + "ент" => mkN007 form; _ + "рық" => mkN013 form; _ + "уық" => mkN013 form; _ + "қық" => mkN013 form; _ + "йық" => mkN013 form; _ + "бық" => mkN013 form; _ + "зық" => mkN013 form; _ + "ңеш" => mkN036 form; _ + "дам" => mkN002 form; _ + "шам" => mkN002 form; _ + "нам" => mkN004 form; _ + "ным" => mkN032 form; _ + "тым" => mkN032 form; _ + "мар" => mkN004 form; _ + "ңір" => mkN011 form; _ + "діл" => mkN011 form; _ + "тіл" => mkN011 form; _ + "ріл" => mkN011 form; _ + "иыл" => mkN010 form; _ + "рік" => mkN023 form; _ + "сік" => mkN023 form; _ + "шік" => mkN023 form; _ + "пік" => mkN023 form; _ + "зік" => mkN023 form; _ + "біз" => mkN008 form; _ + "сөз" => mkN008 form; _ + "іру" => mkN011 form; _ + "ьша" => mkN056 form; _ + "ыша" => mkN056 form; _ + "опа" => mkN056 form; _ + "нші" => mkN022 form; _ + "кші" => mkN022 form; _ + "зші" => mkN022 form; _ + "иші" => mkN022 form; _ + "лші" => mkN022 form; _ + "пші" => mkN022 form; _ + "ңкі" => mkN022 form; _ + "кте" => mkN022 form; _ + "рпе" => mkN022 form; _ + "кше" => mkN022 form; _ + "йде" => mkN022 form; _ + "еде" => mkN055 form; _ + "өбе" => mkN022 form; _ + "ңге" => mkN055 form; _ + "іс" => mkN007 form; _ + "ес" => mkN007 form; _ + "үс" => mkN007 form; _ + "өс" => mkN007 form; _ + "ап" => mkN028 form; _ + "оп" => mkN001 form; _ + "ып" => mkN001 form; _ + "ит" => mkN007 form; _ + "өт" => mkN007 form; _ + "ет" => mkN007 form; _ + "үт" => mkN007 form; _ + "іт" => mkN007 form; _ + "ст" => mkN007 form; _ + "ақ" => mkN013 form; _ + "яқ" => mkN013 form; _ + "еш" => mkN007 form; _ + "іш" => mkN007 form; _ + "үш" => mkN007 form; _ + "ам" => mkN032 form; _ + "ым" => mkN002 form; _ + "ұм" => mkN002 form; _ + "ән" => mkN014 form; _ + "ін" => mkN014 form; _ + "ен" => mkN014 form; _ + "үн" => mkN014 form; _ + "өң" => mkN014 form; _ + "ең" => mkN014 form; _ + "ің" => mkN014 form; _ + "үң" => mkN014 form; _ + "вр" => mkN004 form; _ + "ір" => mkN024 form; _ + "ер" => mkN024 form; _ + "үр" => mkN024 form; _ + "өр" => mkN024 form; _ + "әр" => mkN024 form; _ + "ел" => mkN025 form; _ + "іл" => mkN025 form; _ + "өл" => mkN025 form; _ + "үл" => mkN025 form; _ + "ек" => mkN023 form; _ + "із" => mkN016 form; _ + "өз" => mkN016 form; _ + "үз" => mkN016 form; _ + "ез" => mkN016 form; _ + "ий" => mkN011 form; _ + "ей" => mkN011 form; _ + "еу" => mkN024 form; _ + "ва" => mkN056 form; _ + "уа" => mkN056 form; _ + "йы" => mkN056 form; _ + "ия" => mkN056 form; _ + "ні" => mkN022 form; _ + "рі" => mkN022 form; _ + "сі" => mkN022 form; _ + "ке" => mkN022 form; _ + "ме" => mkN022 form; _ + "зе" => mkN022 form; _ + "же" => mkN022 form; _ + "пе" => mkN055 form; _ + "с" => mkN001 form; _ + "п" => mkN007 form; _ + "т" => mkN001 form; _ + "д" => mkN001 form; _ + "қ" => mkN001 form; _ + "ш" => mkN001 form; _ + "х" => mkN001 form; _ + "м" => mkN014 form; _ + "н" => mkN002 form; _ + "ң" => mkN002 form; _ + "р" => mkN010 form; _ + "л" => mkN015 form; _ + "к" => mkN007 form; _ + "з" => mkN012 form; _ + "и" => mkN010 form; _ + "й" => mkN010 form; _ + "ю" => mkN010 form; _ + "у" => mkN010 form; _ + "ж" => mkN012 form; _ + "а" => mkN017 form; _ + "ы" => mkN017 form; _ + "я" => mkN017 form; _ + "і" => mkN057 form; _ + "е" => mkN057 form; _ + "ә" => mkN057 form } ; reg2N : Str -> Str -> N = \form1, form2 -> case of { <_ + "пап", _> => mkN001 form1; <_ + "нып", _> => mkN028 form1; <_ + "ірт", _> => mkN007 form1; <_ + "ілт", _> => mkN007 form1; <_ + "ент", _> => mkN007 form1; <_ + "рық", _> => mkN013 form1; <_ + "уық", _> => mkN013 form1; <_ + "қық", _> => mkN013 form1; <_ + "йық", _> => mkN013 form1; <_ + "бық", _> => mkN013 form1; <_ + "зық", _> => mkN013 form1; <_ + "ңеш", _> => mkN036 form1; <_ + "дам", _> => mkN002 form1; <_ + "шам", _> => mkN002 form1; <_ + "нам", _> => mkN004 form1; <_ + "ным", _> => mkN032 form1; <_ + "тым", _> => mkN032 form1; <_ + "мар", _> => mkN004 form1; <_ + "ңір", _> => mkN011 form1; <_ + "діл", _> => mkN011 form1; <_ + "тіл", _> => mkN011 form1; <_ + "ріл", _> => mkN011 form1; <_ + "иыл", _> => mkN010 form1; <_ + "рік", _> => mkN023 form1; <_ + "сік", _> => mkN023 form1; <_ + "шік", _> => mkN023 form1; <_ + "пік", _> => mkN023 form1; <_ + "зік", _> => mkN023 form1; <_ + "біз", _> => mkN008 form1; <_ + "сөз", _> => mkN008 form1; <_ + "іру", _> => mkN011 form1; <_ + "ьша", _> => mkN056 form1; <_ + "ыша", _> => mkN056 form1; <_ + "опа", _> => mkN056 form1; <_ + "нші", _> => mkN022 form1; <_ + "кші", _> => mkN022 form1; <_ + "зші", _> => mkN022 form1; <_ + "иші", _> => mkN022 form1; <_ + "лші", _> => mkN022 form1; <_ + "пші", _> => mkN022 form1; <_ + "ңкі", _> => mkN022 form1; <_ + "кте", _> => mkN022 form1; <_ + "рпе", _> => mkN022 form1; <_ + "кше", _> => mkN022 form1; <_ + "йде", _> => mkN022 form1; <_ + "еде", _> => mkN055 form1; <_ + "өбе", _> => mkN022 form1; <_ + "ңге", _> => mkN055 form1; <_ + "іс", _> => mkN007 form1; <_ + "ес", _> => mkN007 form1; <_ + "үс", _> => mkN007 form1; <_ + "өс", _> => mkN007 form1; <_ + "ап", _> => mkN028 form1; <_ + "оп", _> => mkN001 form1; <_ + "ып", _> => mkN001 form1; <_ + "ит", _> => mkN007 form1; <_ + "өт", _> => mkN007 form1; <_ + "ет", _> => mkN007 form1; <_ + "үт", _> => mkN007 form1; <_ + "іт", _> => mkN007 form1; <_ + "ст", _> => mkN007 form1; <_ + "ақ", _> => mkN013 form1; <_ + "яқ", _> => mkN013 form1; <_ + "еш", _> => mkN007 form1; <_ + "іш", _> => mkN007 form1; <_ + "үш", _> => mkN007 form1; <_ + "ам", _> => mkN032 form1; <_ + "ым", _> => mkN002 form1; <_ + "ұм", _> => mkN002 form1; <_ + "ән", _> => mkN014 form1; <_ + "ін", _> => mkN014 form1; <_ + "ен", _> => mkN014 form1; <_ + "үн", _> => mkN014 form1; <_ + "өң", _> => mkN014 form1; <_ + "ең", _> => mkN014 form1; <_ + "ің", _> => mkN014 form1; <_ + "үң", _> => mkN014 form1; <_ + "вр", _> => mkN004 form1; <_ + "ір", _> => mkN024 form1; <_ + "ер", _> => mkN024 form1; <_ + "үр", _> => mkN024 form1; <_ + "өр", _> => mkN024 form1; <_ + "әр", _> => mkN024 form1; <_ + "ел", _> => mkN025 form1; <_ + "іл", _> => mkN025 form1; <_ + "өл", _> => mkN025 form1; <_ + "үл", _> => mkN025 form1; <_ + "ек", _> => mkN023 form1; <_ + "із", _> => mkN016 form1; <_ + "өз", _> => mkN016 form1; <_ + "үз", _> => mkN016 form1; <_ + "ез", _> => mkN016 form1; <_ + "ий", _> => mkN011 form1; <_ + "ей", _> => mkN011 form1; <_ + "еу", _> => mkN024 form1; <_ + "ва", _> => mkN056 form1; <_ + "уа", _> => mkN056 form1; <_ + "йы", _> => mkN056 form1; <_ + "ия", _> => mkN056 form1; <_ + "ні", _> => mkN022 form1; <_ + "рі", _> => mkN022 form1; <_ + "сі", _> => mkN022 form1; <_ + "ке", _> => mkN022 form1; <_ + "ме", _> => mkN022 form1; <_ + "зе", _> => mkN022 form1; <_ + "же", _> => mkN022 form1; <_ + "пе", _> => mkN055 form1; <_ + "с", _> => mkN001 form1; <_ + "п", _> => mkN007 form1; <_ + "т", _> => mkN001 form1; <_ + "д", _> => mkN001 form1; <_ + "қ", _> => mkN001 form1; <_ + "ш", _> => mkN001 form1; <_ + "х", _> => mkN001 form1; <_ + "м", _> => mkN014 form1; <_ + "н", _> => mkN002 form1; <_ + "ң", _> => mkN002 form1; <_ + "р", _> => mkN010 form1; <_ + "л", _> => mkN015 form1; <_ + "к", _> => mkN007 form1; <_ + "з", _> => mkN012 form1; <_ + "и", _> => mkN010 form1; <_ + "й", _> => mkN010 form1; <_ + "ю", _> => mkN010 form1; <_ + "у", _> => mkN010 form1; <_ + "ж", _> => mkN012 form1; <_ + "а", _> => mkN017 form1; <_ + "ы", _> => mkN017 form1; <_ + "я", _> => mkN017 form1; <_ + "і", _> => mkN057 form1; <_ + "е", _> => mkN057 form1; <_ + "ә", _> => mkN057 form1 } ; regV : Str -> V = \form -> case form of { _ + "лту" => mkV005 form; _ + "рту" => mkV007 form; _ + "ету" => mkV007 form; _ + "iту" => mkV007 form; _ + "үту" => mkV010 form; _ + "тау" => mkV006 form; _ + "сау" => mkV006 form; _ + "нау" => mkV011 form; _ + "қау" => mkV011 form; _ + "рау" => mkV026 form; _ + "ару" => mkV003 form; _ + "ыру" => mkV003 form; _ + "iру" => mkV023 form; _ + "ту" => mkV001 form; _ + "ау" => mkV002 form; _ + "лу" => mkV033 form; _ + "шу" => mkV010 form; _ + "уу" => mkV006 form; _ + "еу" => mkV009 form; _ + "су" => mkV010 form; _ + "бу" => mkV020 form; _ + "ңу" => mkV023 form; _ + "у" => mkV016 form } ; reg2V : Str -> Str -> V = \form1, form2 -> case of { <_ + "лту", _> => mkV005 form1; <_ + "рту", _> => mkV007 form1; <_ + "ету", _> => mkV007 form1; <_ + "iту", _> => mkV007 form1; <_ + "үту", _> => mkV010 form1; <_ + "тау", _> => mkV006 form1; <_ + "сау", _> => mkV006 form1; <_ + "нау", _> => mkV011 form1; <_ + "қау", _> => mkV011 form1; <_ + "рау", _> => mkV026 form1; <_ + "ару", _> => mkV003 form1; <_ + "ыру", _> => mkV003 form1; <_ + "iру", _> => mkV023 form1; <_ + "ау", _ + "iн"> => mkV011 form1; <_ + "ту", _> => mkV001 form1; <_ + "ау", _> => mkV002 form1; <_ + "лу", _> => mkV033 form1; <_ + "шу", _> => mkV010 form1; <_ + "уу", _> => mkV006 form1; <_ + "еу", _> => mkV009 form1; <_ + "су", _> => mkV010 form1; <_ + "бу", _> => mkV020 form1; <_ + "ңу", _> => mkV023 form1; <_ + "у", _> => mkV016 form1 } ; reg3V : Str -> Str -> Str -> V = \form1, form2, form3 -> case of { <_ + "лту", _, _> => mkV005 form1; <_ + "рту", _, _> => mkV007 form1; <_ + "ету", _, _> => mkV007 form1; <_ + "iту", _, _> => mkV007 form1; <_ + "үту", _, _> => mkV010 form1; <_ + "тау", _, _> => mkV006 form1; <_ + "сау", _, _> => mkV006 form1; <_ + "нау", _, _> => mkV011 form1; <_ + "қау", _, _> => mkV011 form1; <_ + "рау", _, _> => mkV026 form1; <_ + "ару", _, _> => mkV003 form1; <_ + "ыру", _, _> => mkV003 form1; <_ + "iру", _, _> => mkV023 form1; <_ + "ау", _ + "iн", _> => mkV011 form1; <_ + "ту", _, _> => mkV001 form1; <_ + "ау", _, _> => mkV002 form1; <_ + "лу", _, _> => mkV033 form1; <_ + "шу", _, _> => mkV010 form1; <_ + "уу", _, _> => mkV006 form1; <_ + "еу", _, _> => mkV009 form1; <_ + "су", _, _> => mkV010 form1; <_ + "бу", _, _> => mkV020 form1; <_ + "ңу", _, _> => mkV023 form1; <_ + "у", _, _> => mkV016 form1 } ; reg4V : Str -> Str -> Str -> Str -> V = \form1, form2, form3, form4 -> case of { <_ + "лту", _, _, _> => mkV005 form1; <_ + "рту", _, _, _> => mkV007 form1; <_ + "ету", _, _, _> => mkV007 form1; <_ + "iту", _, _, _> => mkV007 form1; <_ + "үту", _, _, _> => mkV010 form1; <_ + "тау", _, _, _> => mkV006 form1; <_ + "сау", _, _, _> => mkV006 form1; <_ + "нау", _, _, _> => mkV011 form1; <_ + "қау", _, _, _> => mkV011 form1; <_ + "рау", _, _, _> => mkV026 form1; <_ + "ару", _, _, _> => mkV003 form1; <_ + "ыру", _, _, _> => mkV003 form1; <_ + "iру", _, _, _> => mkV023 form1; <_ + "ау", _ + "iн", _, _> => mkV011 form1; <_ + "ту", _, _, _> => mkV001 form1; <_ + "ау", _, _, _> => mkV002 form1; <_ + "лу", _, _, _> => mkV033 form1; <_ + "шу", _, _, _> => mkV010 form1; <_ + "уу", _, _, _> => mkV006 form1; <_ + "еу", _, _, _> => mkV009 form1; <_ + "су", _, _, _> => mkV010 form1; <_ + "бу", _, _, _> => mkV020 form1; <_ + "ңу", _, _, _> => mkV023 form1; <_ + "у", _, _, _> => mkV016 form1 } ; mkN = overload { mkN : Str -> N = regN; mkN : Str -> Str -> N = reg2N } ; 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} ; mkV = overload { mkV : Str -> V = regV; mkV : Str -> Str -> V = reg2V; mkV : Str -> Str -> Str -> V = reg3V; mkV : Str -> Str -> Str -> Str -> V = reg4V } ; 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} ; } ; mkA : Str -> A = \s -> lin A {s=s} ; mkA2 : A -> A2 = \a -> lin A2 a ** {c2=noPrep} ; 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} ; 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=""} ; }