1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/macedonian/ParadigmsMkd.gf
Krasimir Angelov 7e8e6dbf34 added conjunctions
2026-04-13 20:46:06 +02:00

1231 lines
40 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
resource ParadigmsMkd = MorphoMkd ** open Predef, Prelude, CatMkd, ResMkd in {
oper
regN : Str -> N -- s;Indef;Sg
= \form -> case form of {
_ + "риз" => mkN002 form;
_ + "виз" => mkN005 form;
_ + "луз" => mkN002 form;
_ + "аон" => mkN022 form;
_ + "лун" => mkN005 form;
_ + "бун" => mkN005 form;
_ + "жен" => mkN003 form;
_ + "шен" => mkN003 form;
_ + "фан" => mkN025 form;
_ + "тин" => mkN002 form;
_ + "лин" => mkN002 form;
_ + "зин" => mkN002 form;
_ + "нин" => mkN015 form;
_ + "дин" => mkN013 form;
_ + "пин" => mkN015 form;
_ + "ќин" => mkN022 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;
_ + "зем" => mkN002 form;
_ + "бим" => mkN016 form;
_ + "дам" => mkN001 form;
_ + "рам" => mkN001 form;
_ + "мам" => mkN001 form;
_ + "сам" => mkN001 form;
_ + "лам" => mkN005 form;
_ + "шам" => mkN002 form;
_ + "там" => mkN046 form;
_ + "кам" => mkN013 form;
_ + "арм" => mkN001 form;
_ + "алм" => mkN001 form;
_ + "сив" => mkN002 form;
_ + "бов" => mkN051 form;
_ + "рев" => mkN002 form;
_ + "нев" => mkN005 form;
_ + "рав" => mkN005 form;
_ + "був" => mkN013 form;
_ + "тув" => mkN022 form;
_ + "сед" => mkN013 form;
_ + "вед" => mkN087 form;
_ + "мид" => mkN002 form;
_ + "нид" => mkN002 form;
_ + "рад" => mkN002 form;
_ + "хад" => mkN002 form;
_ + "лод" => mkN005 form;
_ + "код" => mkN005 form;
_ + "сод" => mkN013 form;
_ + "енд" => mkN005 form;
_ + "онд" => mkN005 form;
_ + "инт" => mkN005 form;
_ + "унт" => mkN005 form;
_ + "орт" => mkN002 form;
_ + "арт" => mkN005 form;
_ + "мрт" => mkN051 form;
_ + "рут" => mkN005 form;
_ + "вут" => mkN002 form;
_ + "кут" => mkN005 form;
_ + "зот" => mkN002 form;
_ + "нот" => mkN002 form;
_ + "бот" => mkN022 form;
_ + "ист" => mkN001 form;
_ + "рст" => mkN005 form;
_ + "кст" => mkN001 form;
_ + "аст" => mkN043 form;
_ + "уст" => mkN001 form;
_ + "нит" => mkN002 form;
_ + "вит" => mkN002 form;
_ + "кит" => mkN002 form;
_ + "фит" => mkN002 form;
_ + "хит" => mkN002 form;
_ + "сит" => mkN002 form;
_ + "ќит" => mkN002 form;
_ + "шит" => mkN013 form;
_ + "чит" => mkN051 form;
_ + "улт" => mkN005 form;
_ + "алт" => mkN002 form;
_ + "зол" => mkN118 form;
_ + "мол" => mkN002 form;
_ + "сол" => mkN002 form;
_ + "тел" => mkN022 form;
_ + "чел" => mkN002 form;
_ + "кел" => mkN003 form;
_ + "шел" => mkN003 form;
_ + "фал" => mkN013 form;
_ + "шал" => mkN022 form;
_ + "чал" => mkN051 form;
_ + "пил" => mkN002 form;
_ + "нил" => mkN002 form;
_ + "абл" => mkN022 form;
_ + "пул" => mkN002 form;
_ + "уор" => mkN002 form;
_ + "тар" => mkN046 form;
_ + "мур" => mkN022 form;
_ + "фур" => mkN002 form;
_ + "тур" => mkN022 form;
_ + "лур" => mkN002 form;
_ + "нур" => mkN005 form;
_ + "уур" => mkN013 form;
_ + "хур" => mkN013 form;
_ + "еур" => mkN022 form;
_ + "ѓур" => mkN022 form;
_ + "џур" => mkN022 form;
_ + "ѕир" => mkN002 form;
_ + "мбр" => mkN002 form;
_ + "мус" => mkN002 form;
_ + "фус" => mkN002 form;
_ + "шус" => mkN016 form;
_ + "вес" => mkN002 form;
_ + "бес" => mkN002 form;
_ + "иес" => mkN002 form;
_ + "пес" => mkN002 form;
_ + "аос" => mkN002 form;
_ + "тос" => mkN005 form;
_ + "бос" => mkN005 form;
_ + "тис" => mkN002 form;
_ + "зис" => mkN002 form;
_ + "укс" => mkN005 form;
_ + "ирс" => mkN021 form;
_ + "гањ" => mkN002 form;
_ + "сеж" => mkN002 form;
_ + "гаж" => mkN002 form;
_ + "таж" => mkN005 form;
_ + "чец" => mkN001 form;
_ + "зец" => mkN069 form;
_ + "бец" => mkN078 form;
_ + "иец" => mkN079 form;
_ + "аец" => mkN079 form;
_ + "еец" => mkN079 form;
_ + "оец" => mkN079 form;
_ + "уец" => mkN079 form;
_ + "жец" => mkN140 form;
_ + "инц" => mkN005 form;
_ + "ерц" => mkN001 form;
_ + "пич" => mkN013 form;
_ + "кош" => mkN002 form;
_ + "рош" => mkN005 form;
_ + "мош" => mkN051 form;
_ + "ваш" => mkN002 form;
_ + "леб" => mkN001 form;
_ + "реб" => mkN001 form;
_ + "љуб" => mkN001 form;
_ + "фоб" => mkN001 form;
_ + "крб" => mkN068 form;
_ + "тоф" => mkN005 form;
_ + "риф" => mkN022 form;
_ + "лаф" => mkN002 form;
_ + "деф" => mkN002 form;
_ + "поп" => mkN002 form;
_ + "ноп" => mkN005 form;
_ + "ќип" => mkN002 form;
_ + "рип" => mkN005 form;
_ + "чип" => mkN005 form;
_ + "леп" => mkN005 form;
_ + "гуп" => mkN022 form;
_ + "рук" => mkN005 form;
_ + "жок" => mkN002 form;
_ + "мок" => mkN113 form;
_ + "цак" => mkN002 form;
_ + "оек" => mkN002 form;
_ + "век" => mkN189 form;
_ + "аск" => mkN002 form;
_ + "иск" => mkN005 form;
_ + "мог" => mkN005 form;
_ + "бог" => mkN005 form;
_ + "сег" => mkN002 form;
_ + "онг" => mkN005 form;
_ + "енг" => mkN005 form;
_ + "риг" => mkN002 form;
_ + "кој" => mkN002 form;
_ + "меј" => mkN005 form;
_ + "ќај" => mkN002 form;
_ + "кај" => mkN002 form;
_ + "јај" => mkN039 form;
_ + "таќ" => mkN001 form;
_ + "дух" => mkN002 form;
_ + "лух" => mkN005 form;
_ + "лех" => mkN005 form;
_ + "фељ" => mkN104 form;
_ + "шно" => mkN004 form;
_ + "пно" => mkN004 form;
_ + "хно" => mkN004 form;
_ + "сно" => mkN152 form;
_ + "вно" => mkN177 form;
_ + "нто" => mkN004 form;
_ + "едо" => mkN089 form;
_ + "лко" => mkN084 form;
_ + "ако" => mkN040 form;
_ + "нко" => mkN084 form;
_ + "осо" => mkN004 form;
_ + "цио" => mkN004 form;
_ + "кро" => mkN047 form;
_ + "жго" => mkN089 form;
_ + "уго" => mkN132 form;
_ + "або" => mkN040 form;
_ + "пчо" => mkN084 form;
_ + "ичо" => mkN132 form;
_ + "жие" => mkN004 form;
_ + "бие" => mkN004 form;
_ + "мие" => mkN004 form;
_ + "еље" => mkN047 form;
_ + "афе" => mkN009 form;
_ + "лје" => mkN004 form;
_ + "тје" => mkN049 form;
_ + "дје" => mkN049 form;
_ + "сје" => mkN049 form;
_ + "аје" => mkN040 form;
_ + "ате" => mkN004 form;
_ + "сте" => mkN009 form;
_ + "фте" => mkN009 form;
_ + "кте" => mkN009 form;
_ + "нте" => mkN009 form;
_ + "лте" => mkN040 form;
_ + "ике" => mkN040 form;
_ + "иње" => mkN049 form;
_ + "дне" => mkN004 form;
_ + "ане" => mkN004 form;
_ + "еќе" => mkN009 form;
_ + "ире" => mkN040 form;
_ + "аве" => mkN004 form;
_ + "иде" => mkN004 form;
_ + "ибе" => mkN004 form;
_ + "убе" => mkN112 form;
_ + "гче" => mkN103 form;
_ + "бче" => mkN103 form;
_ + "јце" => mkN009 form;
_ + "еце" => mkN009 form;
_ + "уце" => mkN009 form;
_ + "усе" => mkN112 form;
_ + "озе" => mkN040 form;
_ + "аше" => mkN040 form;
_ + "рше" => mkN040 form;
_ + "тее" => mkN034 form;
_ + "ами" => mkN026 form;
_ + "уши" => mkN004 form;
_ + "ири" => mkN004 form;
_ + "ери" => mkN075 form;
_ + "бри" => mkN026 form;
_ + "ури" => mkN026 form;
_ + "гби" => mkN004 form;
_ + "уни" => mkN016 form;
_ + "они" => mkN075 form;
_ + "ени" => mkN026 form;
_ + "или" => mkN004 form;
_ + "ули" => mkN016 form;
_ + "зли" => mkN026 form;
_ + "ели" => mkN026 form;
_ + "сли" => mkN075 form;
_ + "али" => mkN075 form;
_ + "јли" => mkN127 form;
_ + "ики" => mkN004 form;
_ + "рки" => mkN075 form;
_ + "цки" => mkN075 form;
_ + "оки" => mkN075 form;
_ + "иви" => mkN075 form;
_ + "еви" => mkN075 form;
_ + "ови" => mkN080 form;
_ + "ити" => mkN080 form;
_ + "нии" => mkN075 form;
_ + "уфи" => mkN080 form;
_ + "јца" => mkN008 form;
_ + "нца" => mkN008 form;
_ + "лца" => mkN007 form;
_ + "вца" => mkN008 form;
_ + "рца" => mkN008 form;
_ + "оца" => mkN008 form;
_ + "аца" => mkN008 form;
_ + "уца" => mkN008 form;
_ + "еца" => mkN008 form;
_ + "ека" => mkN008 form;
_ + "ика" => mkN007 form;
_ + "шка" => mkN008 form;
_ + "пка" => mkN008 form;
_ + "цка" => mkN008 form;
_ + "ука" => mkN008 form;
_ + "ака" => mkN008 form;
_ + "ока" => mkN008 form;
_ + "дка" => mkN060 form;
_ + "џба" => mkN007 form;
_ + "каа" => mkN007 form;
_ + "наа" => mkN008 form;
_ + "лаа" => mkN008 form;
_ + "мла" => mkN007 form;
_ + "тма" => mkN007 form;
_ + "чна" => mkN045 form;
_ + "оја" => mkN007 form;
_ + "лја" => mkN008 form;
_ + "мја" => mkN008 form;
_ + "пја" => mkN008 form;
_ + "бја" => mkN008 form;
_ + "сја" => mkN053 form;
_ + "оња" => mkN017 form;
_ + "зња" => mkN045 form;
_ + "два" => mkN045 form;
_ + "зиа" => mkN007 form;
_ + "гиа" => mkN007 form;
_ + "лфа" => mkN017 form;
_ + "меа" => mkN007 form;
_ + "ноа" => mkN007 form;
_ + "’ѓа" => mkN017 form;
_ + "бља" => mkN008 form;
_ + "аџа" => mkN045 form;
_ + "јз" => mkN005 form;
_ + "ун" => mkN022 form;
_ + "рн" => mkN005 form;
_ + "вн" => mkN005 form;
_ + "ом" => mkN001 form;
_ + "ум" => mkN002 form;
_ + "ем" => mkN001 form;
_ + "им" => mkN001 form;
_ + "рм" => mkN002 form;
_ + "лм" => mkN005 form;
_ + "јм" => mkN005 form;
_ + "лв" => mkN044 form;
_ + "уд" => mkN005 form;
_ + "зд" => mkN005 form;
_ + "жд" => mkN005 form;
_ + "лд" => mkN013 form;
_ + "нт" => mkN001 form;
_ + "рт" => mkN001 form;
_ + "ут" => mkN001 form;
_ + "ат" => mkN001 form;
_ + "ет" => mkN001 form;
_ + "от" => mkN001 form;
_ + "кт" => mkN001 form;
_ + "вт" => mkN001 form;
_ + "ит" => mkN001 form;
_ + "лт" => mkN001 form;
_ + "пт" => mkN001 form;
_ + "фт" => mkN005 form;
_ + "јт" => mkN001 form;
_ + "хт" => mkN002 form;
_ + "шт" => mkN005 form;
_ + "’т" => mkN005 form;
_ + "фл" => mkN002 form;
_ + "јл" => mkN002 form;
_ + "ор" => mkN022 form;
_ + "ар" => mkN022 form;
_ + "нр" => mkN005 form;
_ + "аџ" => mkN002 form;
_ + "пс" => mkN005 form;
_ + "уж" => mkN002 form;
_ + "рж" => mkN005 form;
_ + "ож" => mkN021 form;
_ + "’ж" => mkN157 form;
_ + "нц" => mkN001 form;
_ + "иц" => mkN005 form;
_ + "рц" => mkN002 form;
_ + "лц" => mkN002 form;
_ + "ац" => mkN005 form;
_ + "нч" => mkN005 form;
_ + "уч" => mkN021 form;
_ + "оч" => mkN005 form;
_ + "рч" => mkN021 form;
_ + "лч" => mkN051 form;
_ + "аб" => mkN001 form;
_ + "зб" => mkN001 form;
_ + "еф" => mkN005 form;
_ + "нф" => mkN005 form;
_ + "лф" => mkN005 form;
_ + "мф" => mkN005 form;
_ + "рф" => mkN116 form;
_ + "рп" => mkN005 form;
_ + "лп" => mkN005 form;
_ + "мп" => mkN005 form;
_ + "вк" => mkN001 form;
_ + "нк" => mkN005 form;
_ + "рк" => mkN005 form;
_ + "лк" => mkN005 form;
_ + "јк" => mkN005 form;
_ + "’к" => mkN091 form;
_ + "уг" => mkN005 form;
_ + "ег" => mkN005 form;
_ + "јг" => mkN002 form;
_ + "аг" => mkN005 form;
_ + "лг" => mkN005 form;
_ + "ој" => mkN075 form;
_ + "аќ" => mkN002 form;
_ + "иљ" => mkN104 form;
_ + "аљ" => mkN104 form;
_ + "во" => mkN004 form;
_ + "ко" => mkN089 form;
_ + "ао" => mkN004 form;
_ + "хо" => mkN004 form;
_ + "ио" => mkN072 form;
_ + "џо" => mkN004 form;
_ + "шо" => mkN040 form;
_ + "жо" => mkN040 form;
_ + "чо" => mkN089 form;
_ + "њо" => mkN089 form;
_ + "ие" => mkN033 form;
_ + "ље" => mkN004 form;
_ + "фе" => mkN004 form;
_ + "је" => mkN034 form;
_ + "те" => mkN034 form;
_ + "ке" => mkN004 form;
_ + "не" => mkN009 form;
_ + "ќе" => mkN049 form;
_ + "ре" => mkN009 form;
_ + "ве" => mkN009 form;
_ + "де" => mkN009 form;
_ + "бе" => mkN009 form;
_ + "че" => mkN009 form;
_ + "це" => mkN034 form;
_ + "ле" => mkN009 form;
_ + "ме" => mkN009 form;
_ + "же" => mkN009 form;
_ + "се" => mkN009 form;
_ + "зе" => mkN009 form;
_ + "ше" => mkN009 form;
_ + "џе" => mkN009 form;
_ + "пе" => mkN040 form;
_ + "ѓе" => mkN049 form;
_ + "ѕе" => mkN075 form;
_ + "ку" => mkN004 form;
_ + "фу" => mkN004 form;
_ + "ау" => mkN004 form;
_ + "су" => mkN004 form;
_ + "ду" => mkN004 form;
_ + "ру" => mkN047 form;
_ + "ми" => mkN004 form;
_ + "ши" => mkN026 form;
_ + "ри" => mkN016 form;
_ + "би" => mkN026 form;
_ + "аи" => mkN004 form;
_ + "си" => mkN026 form;
_ + "ди" => mkN026 form;
_ + "ти" => mkN075 form;
_ + "ќи" => mkN075 form;
_ + "уи" => mkN075 form;
_ + "ги" => mkN075 form;
_ + "пи" => mkN075 form;
_ + "фи" => mkN127 form;
_ + "ба" => mkN008 form;
_ + "ла" => mkN008 form;
_ + "та" => mkN008 form;
_ + "ма" => mkN008 form;
_ + "на" => mkN008 form;
_ + "ја" => mkN023 form;
_ + "ра" => mkN008 form;
_ + "ња" => mkN008 form;
_ + "за" => mkN008 form;
_ + "да" => mkN008 form;
_ + "га" => mkN008 form;
_ + "ва" => mkN008 form;
_ + "жа" => mkN008 form;
_ + "ха" => mkN008 form;
_ + "са" => mkN008 form;
_ + "иа" => mkN008 form;
_ + "фа" => mkN008 form;
_ + "ча" => mkN008 form;
_ + "еа" => mkN008 form;
_ + "оа" => mkN008 form;
_ + "па" => mkN008 form;
_ + "ша" => mkN008 form;
_ + "ѓа" => mkN008 form;
_ + "ќа" => mkN008 form;
_ + "ља" => mkN017 form;
_ + "џа" => mkN008 form;
_ + "уа" => mkN008 form;
_ + "ѕа" => mkN008 form;
_ + "з" => mkN001 form;
_ + "н" => mkN001 form;
_ + "м" => mkN036 form;
_ + "в" => mkN001 form;
_ + "д" => mkN001 form;
_ + "т" => mkN050 form;
_ + "л" => mkN001 form;
_ + "р" => mkN001 form;
_ + "џ" => mkN001 form;
_ + "с" => mkN001 form;
_ + "њ" => mkN001 form;
_ + "ж" => mkN001 form;
_ + "ц" => mkN003 form;
_ + "ч" => mkN001 form;
_ + "ш" => mkN001 form;
_ + "б" => mkN005 form;
_ + "ф" => mkN001 form;
_ + "п" => mkN001 form;
_ + "к" => mkN010 form;
_ + "г" => mkN019 form;
_ + "ј" => mkN067 form;
_ + "ќ" => mkN051 form;
_ + "х" => mkN037 form;
_ + "љ" => mkN002 form;
_ + "о" => mkN012 form;
_ + "е" => mkN028 form;
_ + "у" => mkN040 form;
_ + "и" => mkN095 form;
_ + "а" => mkN006 form;
_ + "." => mkN016 form;
_ + "ѓ" => mkN051 form;
_ => error "Cannot find an inflection rule"
} ;
reg2N : Str -> Str -> N -- s;Indef;Sg s;Indef;Pl
= \form1, form2 -> case <form1, form2> of {
<_ + "тар", _ + "ари"> => mkN022 form1;
<_ + "тел", _ + "тли"> => mkN003 form1;
<_ + "рав", _ + "ави"> => mkN001 form1;
<_ + "рев", _ + "ови"> => mkN005 form1;
<_ + "зол", _ + "оли"> => mkN001 form1;
<_ + "мок", _ + "оци"> => mkN010 form1;
<_ + "тин", _ + "ти"> => mkN015 form1;
<_ + "ист", _ + "ви"> => mkN005 form1;
<_ + "рст", _ + "ти"> => mkN001 form1;
<_ + "лин", _ + "ви"> => mkN005 form1;
<_ + "зин", _ + "зи"> => mkN015 form1;
<_ + "енд", _ + "ди"> => mkN001 form1;
<_ + "тар", _ + "ви"> => mkN056 form1;
<_ + "реб", _ + "ви"> => mkN044 form1;
<_ + "рум", _ + "ви"> => mkN005 form1;
<_ + "орт", _ + "ви"> => mkN005 form1;
<_ + "рут", _ + "ти"> => mkN001 form1;
<_ + "рам", _ + "ви"> => mkN005 form1;
<_ + "кст", _ + "ви"> => mkN005 form1;
<_ + "улт", _ + "ти"> => mkN001 form1;
<_ + "аст", _ + "ви"> => mkN005 form1;
<_ + "арм", _ + "ви"> => mkN005 form1;
<_ + "кум", _ + "ви"> => mkN065 form1;
<_ + "вит", _ + "ви"> => mkN005 form1;
<_ + "пил", _ + "ли"> => mkN001 form1;
<_ + "инт", _ + "ти"> => mkN001 form1;
<_ + "риз", _ + "зи"> => mkN001 form1;
<_ + "иск", _ + "ци"> => mkN010 form1;
<_ + "мок", _ + "ви"> => mkN005 form1;
<_ + "мја", _ + "ми"> => mkN023 form1;
<_ + "тин", _ + "и"> => mkN001 form1;
<_ + "лин", _ + "и"> => mkN001 form1;
<_ + "зин", _ + "и"> => mkN001 form1;
<_ + "леб", _ + "и"> => mkN005 form1;
<_ + "орт", _ + "и"> => mkN001 form1;
<_ + "нит", _ + "и"> => mkN001 form1;
<_ + "тис", _ + "и"> => mkN001 form1;
<_ + "рев", _ + "и"> => mkN001 form1;
<_ + "вит", _ + "и"> => mkN001 form1;
<_ + "пил", _ + "и"> => mkN005 form1;
<_ + "риз", _ + "и"> => mkN005 form1;
<_ + "рад", _ + "и"> => mkN005 form1;
<_ + "кој", _ + "ј"> => mkN075 form1;
<_ + "ате", _ + "и"> => mkN089 form1;
<_ + "ири", _ + "а"> => mkN026 form1;
<_ + "иње", _ + "а"> => mkN009 form1;
<_ + "бие", _ + "а"> => mkN033 form1;
<_ + "иде", _ + "а"> => mkN040 form1;
<_ + "лје", _ + "а"> => mkN040 form1;
<_ + "мие", _ + "а"> => mkN033 form1;
<_ + "ери", _ + "а"> => mkN127 form1;
<_ + "век", _ + "и"> => mkN005 form1;
<_ + "ика", _ + "и"> => mkN008 form1;
<_ + "каа", _ + "и"> => mkN006 form1;
<_ + "оја", _ + "и"> => mkN023 form1;
<_ + "вца", _ + "а"> => mkN122 form1;
<_ + "едо", _ + "а"> => mkN012 form1;
<_ + "лко", _ + "а"> => mkN012 form1;
<_ + "ами", _ + "и"> => mkN075 form1;
<_ + "иви", _ + "а"> => mkN026 form1;
<_ + "они", _ + "а"> => mkN026 form1;
<_ + "тје", _ + "а"> => mkN028 form1;
<_ + "дје", _ + "а"> => mkN028 form1;
<_ + "сје", _ + "а"> => mkN028 form1;
<_ + "чит", _ + "и"> => mkN087 form1;
<_ + "ор", _ + "ври"> => mkN118 form1;
<_ + "ар", _ + "дри"> => mkN027 form1;
<_ + "ар", _ + "бри"> => mkN027 form1;
<_ + "ар", _ + "гри"> => mkN046 form1;
<_ + "ар", _ + "при"> => mkN046 form1;
<_ + "ар", _ + "ври"> => mkN046 form1;
<_ + "ар", _ + "еви"> => mkN021 form1;
<_ + "от", _ + "кти"> => mkN153 form1;
<_ + "иц", _ + "еви"> => mkN021 form1;
<_ + "ие", _ + "еја"> => mkN026 form1;
<_ + "ри", _ + "ври"> => mkN075 form1;
<_ + "ја", _ + "чии"> => mkN053 form1;
<_ + "ја", _ + "шии"> => mkN053 form1;
<_ + "ја", _ + "џии"> => mkN053 form1;
<_ + "ќи", _ + "еќи"> => mkN095 form1;
<_ + "ом", _ + "ви"> => mkN005 form1;
<_ + "нт", _ + "ви"> => mkN005 form1;
<_ + "ун", _ + "ви"> => mkN005 form1;
<_ + "ор", _ + "ви"> => mkN005 form1;
<_ + "рт", _ + "ви"> => mkN005 form1;
<_ + "ут", _ + "ви"> => mkN005 form1;
<_ + "ет", _ + "ви"> => mkN005 form1;
<_ + "ар", _ + "ви"> => mkN005 form1;
<_ + "ем", _ + "ви"> => mkN005 form1;
<_ + "от", _ + "ви"> => mkN005 form1;
<_ + "аб", _ + "ви"> => mkN005 form1;
<_ + "им", _ + "ви"> => mkN005 form1;
<_ + "кт", _ + "ви"> => mkN005 form1;
<_ + "еф", _ + "фи"> => mkN001 form1;
<_ + "ит", _ + "ви"> => mkN005 form1;
<_ + "пс", _ + "си"> => mkN001 form1;
<_ + "фт", _ + "ти"> => mkN001 form1;
<_ + "ум", _ + "ви"> => mkN005 form1;
<_ + "јт", _ + "ви"> => mkN005 form1;
<_ + "иц", _ + "ци"> => mkN001 form1;
<_ + "нч", _ + "чи"> => mkN001 form1;
<_ + "ој", _ + "ји"> => mkN001 form1;
<_ + "ој", _ + "ви"> => mkN039 form1;
<_ + "уч", _ + "чи"> => mkN001 form1;
<_ + "уд", _ + "ди"> => mkN001 form1;
<_ + "зд", _ + "ди"> => mkN001 form1;
<_ + "уг", _ + "зи"> => mkN019 form1;
<_ + "нк", _ + "ци"> => mkN010 form1;
<_ + "рк", _ + "ци"> => mkN010 form1;
<_ + "во", _ + "оа"> => mkN040 form1;
<_ + "ко", _ + "оа"> => mkN040 form1;
<_ + "ко", _ + "ки"> => mkN081 form1;
<_ + "ќе", _ + "ќа"> => mkN034 form1;
<_ + "ре", _ + "еа"> => mkN040 form1;
<_ + "ри", _ + "ња"> => mkN127 form1;
<_ + "це", _ + "ња"> => mkN009 form1;
<_ + "ле", _ + "еа"> => mkN040 form1;
<_ + "аг", _ + "зи"> => mkN019 form1;
<_ + "ег", _ + "зи"> => mkN019 form1;
<_ + "лк", _ + "ци"> => mkN010 form1;
<_ + "на", _ + "аи"> => mkN116 form1;
<_ + "ме", _ + "еа"> => mkN040 form1;
<_ + "же", _ + "еа"> => mkN040 form1;
<_ + "ше", _ + "еа"> => mkN040 form1;
<_ + "пе", _ + "ња"> => mkN009 form1;
<_ + "шо", _ + "ша"> => mkN152 form1;
<_ + "ат", _ + "а"> => mkN024 form1;
<_ + "ет", _ + "а"> => mkN105 form1;
<_ + "от", _ + "а"> => mkN105 form1;
<_ + "ум", _ + "и"> => mkN001 form1;
<_ + "ој", _ + "и"> => mkN067 form1;
<_ + "во", _ + "а"> => mkN012 form1;
<_ + "фе", _ + "а"> => mkN040 form1;
<_ + "ко", _ + "а"> => mkN012 form1;
<_ + "ќе", _ + "а"> => mkN009 form1;
<_ + "ду", _ + "а"> => mkN040 form1;
<_ + "ри", _ + "а"> => mkN026 form1;
<_ + "ри", _ + "и"> => mkN095 form1;
<_ + "рч", _ + "и"> => mkN005 form1;
<_ + "ла", _ + "а"> => mkN101 form1;
<_ + "ња", _ + "а"> => mkN122 form1;
<_ + "са", _ + "а"> => mkN122 form1;
<_ + "ќа", _ + "а"> => mkN122 form1;
<_ + "би", _ + "и"> => mkN095 form1;
<_ + "ди", _ + "и"> => mkN095 form1;
<_ + "з", _ + "еви"> => mkN021 form1;
<_ + "н", _ + "мни"> => mkN003 form1;
<_ + "н", _ + "вни"> => mkN003 form1;
<_ + "н", _ + "сни"> => mkN003 form1;
<_ + "н", _ + "лни"> => mkN135 form1;
<_ + "л", _ + "рли"> => mkN003 form1;
<_ + "л", _ + "вли"> => mkN003 form1;
<_ + "л", _ + "дли"> => mkN003 form1;
<_ + "л", _ + "еви"> => mkN021 form1;
<_ + "с", _ + "еви"> => mkN021 form1;
<_ + "р", _ + "три"> => mkN003 form1;
<_ + "р", _ + "дри"> => mkN003 form1;
<_ + "ц", _ + "еци"> => mkN001 form1;
<_ + "ч", _ + "ови"> => mkN005 form1;
<_ + "ш", _ + "ови"> => mkN005 form1;
<_ + "к", _ + "дци"> => mkN113 form1;
<_ + "к", _ + "чци"> => mkN113 form1;
<_ + "к", _ + "нци"> => mkN113 form1;
<_ + "к", _ + "пци"> => mkN188 form1;
<_ + "ј", _ + "еви"> => mkN039 form1;
<_ + "з", _ + "ви"> => mkN005 form1;
<_ + "н", _ + "ви"> => mkN005 form1;
<_ + "н", _ + "би"> => mkN015 form1;
<_ + "н", _ + "ри"> => mkN015 form1;
<_ + "н", _ + "си"> => mkN015 form1;
<_ + "н", _ + "еи"> => mkN015 form1;
<_ + "д", _ + "ви"> => mkN005 form1;
<_ + "л", _ + "ви"> => mkN005 form1;
<_ + "џ", _ + "ви"> => mkN005 form1;
<_ + "с", _ + "ви"> => mkN005 form1;
<_ + "р", _ + "ви"> => mkN005 form1;
<_ + "ж", _ + "ви"> => mkN005 form1;
<_ + "ц", _ + "ви"> => mkN005 form1;
<_ + "ц", _ + "ни"> => mkN094 form1;
<_ + "ч", _ + "ви"> => mkN021 form1;
<_ + "ш", _ + "ви"> => mkN021 form1;
<_ + "ф", _ + "ви"> => mkN005 form1;
<_ + "п", _ + "ви"> => mkN005 form1;
<_ + "г", _ + "ги"> => mkN001 form1;
<_ + "г", _ + "ви"> => mkN005 form1;
<_ + "т", _ + "ви"> => mkN005 form1;
<_ + "б", _ + "би"> => mkN001 form1;
<_ + "к", _ + "ки"> => mkN001 form1;
<_ + "к", _ + "ви"> => mkN005 form1;
<_ + "ј", _ + "ји"> => mkN001 form1;
<_ + "ј", _ + "ви"> => mkN005 form1;
<_ + "х", _ + "ви"> => mkN005 form1;
<_ + "о", _ + "оа"> => mkN040 form1;
<_ + "м", _ + "ви"> => mkN005 form1;
<_ + "т", _ + "и"> => mkN043 form1;
<_ + "љ", _ + "и"> => mkN005 form1;
<_ + "и", _ + "а"> => mkN026 form1;
<_ + "о", _ + "и"> => mkN081 form1;
<_ + "м", _ + "и"> => mkN092 form1;
<_ + "ќ", _ + "и"> => mkN035 form1;
_ => regN form1
} ;
regV : Str -> V -- present;Sg;P3
= \form -> case form of {
_ + "вка" => mkV002 form;
_ + "фка" => mkV017 form;
_ + "гра" => mkV009 form;
_ + "ера" => mkV009 form;
_ + "жва" => mkV009 form;
_ + "лва" => mkV009 form;
_ + "сла" => mkV017 form;
_ + "еба" => mkV017 form;
_ + "ада" => mkV002 form;
_ + "лда" => mkV002 form;
_ + "ата" => mkV002 form;
_ + "пца" => mkV013 form;
_ + "рча" => mkV017 form;
_ + "тча" => mkV017 form;
_ + "еѓа" => mkV009 form;
_ + "рѓа" => mkV009 form;
_ + "ага" => mkV002 form;
_ + "уга" => mkV009 form;
_ + "ога" => mkV002 form;
_ + "уна" => mkV055 form;
_ + "ања" => mkV055 form;
_ + "’ти" => mkV004 form;
_ + "иди" => mkV024 form;
_ + "жди" => mkV043 form;
_ + "мчи" => mkV015 form;
_ + "иси" => mkV004 form;
_ + "ези" => mkV003 form;
_ + "лзи" => mkV015 form;
_ + "рзи" => mkV053 form;
_ + "изи" => mkV031 form;
_ + "ипи" => mkV004 form;
_ + "рми" => mkV083 form;
_ + "дии" => mkV083 form;
_ + "оќи" => mkV015 form;
_ + "руи" => mkV049 form;
_ + "уже" => mkV006 form;
_ + "оже" => mkV023 form;
_ + "аде" => mkV018 form;
_ + "јде" => mkV056 form;
_ + "лзе" => mkV019 form;
_ + "езе" => mkV034 form;
_ + "оле" => mkV042 form;
_ + "мре" => mkV021 form;
_ + "пре" => mkV021 form;
_ + "зре" => mkV021 form;
_ + "вре" => mkV021 form;
_ + "тре" => mkV021 form;
_ + "дре" => mkV033 form;
_ + "сте" => mkV006 form;
_ + "асе" => mkV034 form;
_ + "уче" => mkV006 form;
_ + "аче" => mkV072 form;
_ + "вне" => mkV036 form;
_ + "ние" => mkV084 form;
_ + "нее" => mkV035 form;
_ + "дее" => mkV035 form;
_ + "бее" => mkV035 form;
_ + "тее" => mkV035 form;
_ + "кае" => mkV080 form;
_ + "рае" => mkV060 form;
_ + "мае" => mkV076 form;
_ + "лае" => mkV060 form;
_ + "бае" => mkV060 form;
_ + "нае" => mkV077 form;
_ + "ка" => mkV009 form;
_ + "ра" => mkV013 form;
_ + "ла" => mkV009 form;
_ + "са" => mkV009 form;
_ + "ба" => mkV009 form;
_ + "да" => mkV009 form;
_ + "па" => mkV009 form;
_ + "та" => mkV009 form;
_ + "ја" => mkV002 form;
_ + "ша" => mkV009 form;
_ + "ца" => mkV009 form;
_ + "ча" => mkV009 form;
_ + "ѓа" => mkV002 form;
_ + "за" => mkV009 form;
_ + "на" => mkV002 form;
_ + "ња" => mkV044 form;
_ + "џа" => mkV009 form;
_ + "љи" => mkV003 form;
_ + "ни" => mkV014 form;
_ + "}и" => mkV004 form;
_ + "аи" => mkV063 form;
_ + "ои" => mkV016 form;
_ + "уи" => mkV085 form;
_ + "же" => mkV028 form;
_ + "бе" => mkV028 form;
_ + "де" => mkV026 form;
_ + "зе" => mkV028 form;
_ + "ле" => mkV079 form;
_ + "ре" => mkV037 form;
_ + "ве" => mkV028 form;
_ + "пе" => mkV028 form;
_ + "те" => mkV027 form;
_ + "се" => mkV025 form;
_ + "че" => mkV029 form;
_ + "ше" => mkV028 form;
_ + "ќе" => mkV006 form;
_ + "ие" => mkV039 form;
_ + "уе" => mkV039 form;
_ + "ее" => mkV041 form;
_ + "ае" => mkV035 form;
_ + "ме" => mkV059 form;
_ + "а" => mkV001 form;
_ + "и" => mkV005 form;
_ + "е" => mkV007 form;
_ => error "Cannot find an inflection rule"
} ;
reg2V : Str -> Str -> V -- present;Sg;P3 participle;adverbial
= \form1, form2 -> case <form1, form2> of {
<_ + "гра", _ + "и"> => mkV001 form1;
<_ + "ера", _ + "и"> => mkV001 form1;
<_ + "жва", _ + "и"> => mkV001 form1;
<_ + "рча", _ + "и"> => mkV001 form1;
<_ + "лва", _ + "и"> => mkV001 form1;
<_ + "уга", _ + "и"> => mkV001 form1;
<_ + "еѓа", _ + "и"> => mkV001 form1;
<_ + "фка", _ + "и"> => mkV001 form1;
<_ + "рѓа", _ + "и"> => mkV002 form1;
<_ + "еба", _ + "и"> => mkV002 form1;
<_ + "сла", _ + "и"> => mkV002 form1;
<_ + "уна", _ + "и"> => mkV002 form1;
<_ + "рми", _ + "и"> => mkV004 form1;
<_ + "лзи", _ + "и"> => mkV004 form1;
<_ + "рзи", _ + "и"> => mkV004 form1;
<_ + "мчи", _ + "и"> => mkV004 form1;
<_ + "аде", _ + "и"> => mkV006 form1;
<_ + "оле", _ + "и"> => mkV006 form1;
<_ + "асе", _ + "и"> => mkV006 form1;
<_ + "лзе", _ + "и"> => mkV006 form1;
<_ + "езе", _ + "и"> => mkV006 form1;
<_ + "ние", _ + "и"> => mkV012 form1;
<_ + "кае", _ + "и"> => mkV022 form1;
<_ + "аче", _ + "и"> => mkV023 form1;
<_ + "рае", _ + "и"> => mkV035 form1;
<_ + "мае", _ + "и"> => mkV035 form1;
<_ + "ања", _ + "и"> => mkV044 form1;
<_ + "ка", _ + "и"> => mkV001 form1;
<_ + "ла", _ + "и"> => mkV001 form1;
<_ + "ба", _ + "и"> => mkV001 form1;
<_ + "да", _ + "и"> => mkV001 form1;
<_ + "па", _ + "и"> => mkV001 form1;
<_ + "та", _ + "и"> => mkV001 form1;
<_ + "ша", _ + "и"> => mkV001 form1;
<_ + "ца", _ + "и"> => mkV001 form1;
<_ + "ча", _ + "и"> => mkV001 form1;
<_ + "за", _ + "и"> => mkV001 form1;
<_ + "ни", _ + "и"> => mkV010 form1;
<_ + "аи", _ + "и"> => mkV057 form1;
<_ + "же", _ + "и"> => mkV006 form1;
<_ + "бе", _ + "и"> => mkV006 form1;
<_ + "зе", _ + "и"> => mkV006 form1;
<_ + "ре", _ + "и"> => mkV006 form1;
<_ + "де", _ + "и"> => mkV006 form1;
<_ + "пе", _ + "и"> => mkV006 form1;
<_ + "те", _ + "и"> => mkV006 form1;
<_ + "че", _ + "и"> => mkV006 form1;
<_ + "се", _ + "и"> => mkV006 form1;
<_ + "ле", _ + "и"> => mkV006 form1;
<_ + "ие", _ + "и"> => mkV011 form1;
<_ + "уе", _ + "и"> => mkV011 form1;
<_ + "ои", _ + "и"> => mkV032 form1;
<_ + "ее", _ + "и"> => mkV035 form1;
<_ + "ме", _ + "и"> => mkV023 form1;
<_ + "уи", _ + "и"> => mkV049 form1;
<_ + "и", _ + "и"> => mkV003 form1;
<_ + "е", _ + "и"> => mkV048 form1;
_ => regV form1
} ;
reg3V : Str -> Str -> Str -> V -- present;Sg;P3 participle;adverbial participle;adjectival
= \form1, form2, form3 -> case <form1, form2, form3> of {
<_ + "ее", _ + "и", _ + "н"> => mkV022 form1;
_ => reg2V form1 form2
} ;
regA : Str -> A -- s;Indef;Masc
= \form -> case form of {
_ + "лен" => mkA003 form;
_ + "чен" => mkA003 form;
_ + "зен" => mkA003 form;
_ + "сен" => mkA003 form;
_ + "вен" => mkA003 form;
_ + "кен" => mkA003 form;
_ + "ќен" => mkA003 form;
_ + "нен" => mkA037 form;
_ + "аен" => mkA009 form;
_ + "кон" => mkA005 form;
_ + "бор" => mkA019 form;
_ + "дом" => mkA005 form;
_ + "џав" => mkA005 form;
_ + "бат" => mkA005 form;
_ + "сок" => mkA004 form;
_ + "бок" => mkA004 form;
_ + "оок" => mkA004 form;
_ + "док" => mkA013 form;
_ + "жок" => mkA018 form;
_ + "зок" => mkA026 form;
_ + "бап" => mkA005 form;
_ + "вој" => mkA015 form;
_ + "ној" => mkA017 form;
_ + "си" => mkA005 form;
_ + "аш" => mkA002 form;
_ + "ер" => mkA003 form;
_ + "ор" => mkA004 form;
_ + "ур" => mkA004 form;
_ + "ир" => mkA004 form;
_ + "рт" => mkA010 form;
_ + "ак" => mkA004 form;
_ + "ек" => mkA004 form;
_ + "ик" => mkA004 form;
_ + "рк" => mkA004 form;
_ + "ук" => mkA004 form;
_ + "ол" => mkA019 form;
_ + "ул" => mkA005 form;
_ + "до" => mkA005 form;
_ + "ај" => mkA005 form;
_ + "еј" => mkA005 form;
_ + "и" => mkA001 form;
_ + "ш" => mkA004 form;
_ + "н" => mkA004 form;
_ + "р" => mkA006 form;
_ + "м" => mkA004 form;
_ + "г" => mkA004 form;
_ + "в" => mkA004 form;
_ + "т" => mkA004 form;
_ + "б" => mkA004 form;
_ + "к" => mkA019 form;
_ + "з" => mkA004 form;
_ + "л" => mkA004 form;
_ + "д" => mkA004 form;
_ + "с" => mkA004 form;
_ + "п" => mkA004 form;
_ + "х" => mkA004 form;
_ + "ж" => mkA004 form;
_ + "ц" => mkA004 form;
_ + "ѓ" => mkA004 form;
_ + "ч" => mkA005 form;
_ + "е" => mkA005 form;
_ + "у" => mkA005 form;
_ + "о" => mkA029 form;
_ + "ј" => mkA016 form;
_ + "а" => mkA005 form;
_ => error "Cannot find an inflection rule"
} ;
reg2A : Str -> Str -> A -- s;Indef;Masc s;Indef;Fem
= \form1, form2 -> case <form1, form2> of {
<_ + "лен", _ + "ена"> => mkA004 form1;
<_ + "чен", _ + "ена"> => mkA004 form1;
<_ + "зен", _ + "ена"> => mkA004 form1;
<_ + "сен", _ + "ена"> => mkA004 form1;
<_ + "вен", _ + "ена"> => mkA004 form1;
<_ + "кен", _ + "ена"> => mkA004 form1;
<_ + "ќен", _ + "ена"> => mkA004 form1;
<_ + "нен", _ + "ена"> => mkA004 form1;
<_ + "аен", _ + "ена"> => mkA004 form1;
<_ + "вој", _ + "аа"> => mkA017 form1;
<_ + "ор", _ + "тра"> => mkA019 form1;
<_ + "ол", _ + "ола"> => mkA004 form1;
<_ + "ул", _ + "а"> => mkA004 form1;
<_ + "н", _ + "дна"> => mkA003 form1;
<_ + "н", _ + "тна"> => mkA003 form1;
<_ + "н", _ + "жна"> => mkA003 form1;
<_ + "н", _ + "мна"> => mkA003 form1;
<_ + "н", _ + "рна"> => mkA003 form1;
<_ + "н", _ + "бна"> => mkA003 form1;
<_ + "н", _ + "шна"> => mkA003 form1;
<_ + "н", _ + "пна"> => mkA003 form1;
<_ + "н", _ + "цна"> => mkA003 form1;
<_ + "н", _ + "фна"> => mkA003 form1;
<_ + "н", _ + "гна"> => mkA003 form1;
<_ + "н", _ + "јна"> => mkA009 form1;
<_ + "н", _ + "сна"> => mkA012 form1;
<_ + "р", _ + "ара"> => mkA004 form1;
<_ + "в", _ + "ква"> => mkA019 form1;
<_ + "в", _ + "тва"> => mkA019 form1;
<_ + "к", _ + "ока"> => mkA004 form1;
<_ + "и", _ + "иа"> => mkA004 form1;
_ => regA form1
} ;
mkN = overload {
mkN : Str -> N = regN; -- s;Indef;Sg
mkN : Str -> Str -> N = reg2N -- s;Indef;Sg s;Indef;Pl
} ;
mkN2 = overload {
mkN2 : N -> N2 = \n -> lin N2 n ** {c2=noPrep};
mkN2 : N -> Prep -> N2 = \n,p -> lin N2 n ** {c2=p};
} ;
compoundN = overload {
compoundN : A -> N -> N = \a,n -> lin N {
s = \\spec,num => a.s ! spec ! genNum n.g num ++ n.s ! Indef ! num ;
count_form = a.s ! Indef ! genNum n.g Pl ++ n.count_form ;
vocative = \\num => a.s ! Indef ! genNum n.g num ++ n.vocative ! num ;
rel = \\_,_ => a.s ! Indef ! GSg n.g ++ n.s ! Indef ! Sg ;
relType = Pref ;
g = n.g
} ;
compoundN : N -> Str -> N = \n,adv -> lin N {
s = \\spec,num => n.s ! spec ! num ++ adv ;
count_form = n.count_form ++ adv ;
vocative = \\num => n.vocative ! num ++ adv ;
rel = \\_,_ => n.s ! Indef ! Sg ++ adv ;
relType = Pref ;
g = n.g
} ;
compoundN : Str -> N -> N = \pref,n -> lin N {
s = \\spec,num => pref ++ n.s ! spec ! num ;
count_form = pref ++ n.count_form ;
vocative = \\num => pref ++ n.vocative ! num ;
rel = \\_,_ => pref ++ n.s ! Indef ! Sg ;
relType = Pref ;
g = n.g
}
} ;
dualN = overload {
dualN : N -> A -> N = \n,a -> n ** {rel=a.s; relType=AdjMod} ;
dualN : N -> Str -> N = \n,adv -> n ** {rel=\\_,_=>adv; relType=AdvMod} ;
} ;
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; -- present;Sg;P3
mkV : Str -> Str -> V = reg2V; -- present;Sg;P3 participle;adverbial
mkV : Str -> Str -> Str -> V = reg3V -- present;Sg;P3 participle;adverbial participle;adjectival
} ;
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 {
Imperfective => impf.present ! Imperfective ;
Perfective => perf.present ! Perfective
} ;
aorist = perf.aorist ;
imperfect = table {
Imperfective => impf.imperfect ! Imperfective ;
Perfective => perf.imperfect ! 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 = table {
Imperfective => impf.participle.imperfect ! Imperfective ;
Perfective => perf.participle.imperfect ! Perfective
} ;
perfect = table {
Imperfective => impf.participle.perfect ! Imperfective ;
Perfective => perf.participle.perfect ! Perfective
} ;
adjectival = table {
Imperfective => impf.participle.adjectival ! Imperfective ;
Perfective => perf.participle.adjectival ! Perfective
} ;
adverbial = impf.participle.adverbial
} ;
noun_from_verb = impf.noun_from_verb ;
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} ;
} ;
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=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,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 = overload {
mkA : Str -> A = regA; -- s;Indef;Masc
mkA : Str -> Str -> A = reg2A -- s;Indef;Masc s;Indef;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} ;
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; 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} ;
}