From 5a3f5e430a50328a17902f420a2dc986ba781279 Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Fri, 21 Aug 2020 23:43:09 +0300 Subject: [PATCH] more verbs; moved negation after adv because adv can have not_AdA --- src/russian/CatRus.gf | 5 ++- src/russian/DictRus.gf | 51 +++++++++++++++++++++++++++++++ src/russian/DictRusAbs.gf | 51 +++++++++++++++++++++++++++++++ src/russian/ExtraRus.gf | 3 ++ src/russian/ExtraRusAbs.gf | 3 ++ src/russian/LexiconRus.gf | 4 +-- src/russian/ParamRus.gf | 3 ++ src/russian/ResRus.gf | 19 +++++++----- src/russian/test_api.treebank | 2 +- src/russian/test_failing.gfs | 2 +- src/russian/test_failing.treebank | 10 +++--- 11 files changed, 133 insertions(+), 20 deletions(-) diff --git a/src/russian/CatRus.gf b/src/russian/CatRus.gf index e42c5008..4ff4a2fb 100644 --- a/src/russian/CatRus.gf +++ b/src/russian/CatRus.gf @@ -9,10 +9,9 @@ lincat A2 = ResRus.AdjForms ** {c : ComplementCase} ; V, VS, VQ, VA = ResRus.VerbForms ; - V2, V2S, V2Q, V2A = ResRus.VerbForms ** {c : ComplementCase} ; - V3 = ResRus.VerbForms ** {c : ComplementCase ; c2 : ComplementCase} ; + V2, V2S, V2Q, V2A, V2V = ResRus.VerbForms2 ; + V3 = ResRus.VerbForms3 ; VV = {v : ResRus.VerbForms ; modal : AgrTable} ; - V2V, V2S, V2Q = ResRus.VerbForms ** {c : ComplementCase} ; CN = ResRus.Noun ; diff --git a/src/russian/DictRus.gf b/src/russian/DictRus.gf index 0f9d6e54..8a75424d 100644 --- a/src/russian/DictRus.gf +++ b/src/russian/DictRus.gf @@ -1293,6 +1293,7 @@ lin kosnutqsja_V = mkV perfective intransitive "коснуться" "коснусь" "коснётся" "3b" ; kriknutq_V = mkV perfective transitive "крикнуть" "крикну" "крикнет" "3a" ; krichatq_V = mkV imperfective transitive "кричать" "кричу" "кричит" "5b" ; + krichatq_VS = mkVS krichatq_V ; krutitq_V = mkV imperfective transitive "крутить" "кручу" "крутит" "4c" ; kupitq_V = mkV perfective transitive "купить" "куплю" "купит" "4c" ; kuritq_V = mkV imperfective transitive "курить" "курю" "курит" "4c" ; @@ -1692,7 +1693,10 @@ lin prevyshatq_V = mkV imperfective transitive "превышать" "превышаю" "превышает" "1a" ; predlagatq_V = mkV imperfective transitive "предлагать" "предлагаю" "предлагает" "1a" ; predlagatq_VV = mkVV predlagatq_V ; + predlagatq_VS = mkVS predlagatq_V ; predlagatqsja_V = mkV imperfective intransitive "предлагаться" "предлагаюсь" "предлагается" "1a" ; + predlagatqsja_VV = mkVV predlagatqsja_V ; + predlagatqsja_VS = mkVS predlagatqsja_V ; predlozhitq_V = mkV perfective transitive "предложить" "предложу" "предложит" "4c" ; predlozhitq_VV = mkVV predlozhitq_V ; prednaznachitq_V = mkV perfective transitive "предназначить" "предназначу" "предназначит" "4a" ; @@ -1700,21 +1704,30 @@ lin predostavljatq_V = mkV imperfective transitive "предоставлять" "предоставляю" "предоставляет" "1a" ; predpolagatq_V = mkV imperfective transitive "предполагать" "предполагаю" "предполагает" "1a" ; predpolagatq_VS = mkVS predpolagatq_V ; + predpolagatq_VV = mkVV predpolagatq_V ; predpolagatqsja_V = mkV imperfective intransitive "предполагаться" "предполагаюсь" "предполагается" "1a" ; predpolagatqsja_VS = mkVS predpolagatqsja_V ; + predpolagatqsja_VV = mkVV predpolagatqsja_V ; predpolozhitq_V = mkV perfective transitive "предположить" "предположу" "предположит" "4c" ; predpolozhitq_VS = mkVS predpolozhitq_V ; + predpolozhitq_VV = mkVV predpolozhitq_V ; predpochitatq_V = mkV imperfective transitive "предпочитать" "предпочитаю" "предпочитает" "1a" ; + predpochitatq_VV = mkVV predpochitatq_V ; predstavitq_V = mkV perfective transitive "представить" "представлю" "представит" "4a" ; predstavljatq_V = mkV imperfective transitive "представлять" "представляю" "представляет" "1a" ; + predstavljatq_VS = mkVS predstavljatq_V ; predstavljatqsja_V = mkV imperfective intransitive "представляться" "представляюсь" "представляется" "1a" ; predstojatq_V = mkV imperfective transitive "предстоять" "предстою" "предстоит" "5b" ; + predstojatq_VV = mkVV predstojatq_V ; predupreditq_V = mkV perfective transitive "предупредить" "предупрежу" "предупредит" "4b" ; + predupreditq_VS = mkVS predupreditq_V ; preduprezhdatq_V = mkV imperfective transitive "предупреждать" "предупреждаю"; + preduprezhdatq_VS = mkVS preduprezhdatq_V ; predusmatrivatq_V = mkV imperfective transitive "предусматривать" "предусматриваю" "предусматривает" "1a" ; predusmotretq_V = mkV perfective transitive "предусмотреть" "предусмотрю" "предусмотрит" "5c" ; pred6javitq_V = mkV perfective transitive "предъявить" "предъявлю" "предъявит" "4c" ; prekratitq_V = mkV perfective transitive "прекратить" "прекращу" "прекратит" "4b" ; + prekratitq_VV = mkVV prekratitq_V ; preodoletq_V = mkV perfective transitive "преодолеть" "преодолею" "преодолеет" "1a" ; prervatq_V = mkV perfective transitive "прервать" "прерву" "прервёт" "6°b/c" ; priblizhatqsja_V = mkV imperfective intransitive "приближаться" "приближаюсь" "приближается" "1a" ; @@ -1724,23 +1737,31 @@ lin privlekatq_V = mkV imperfective transitive "привлекать" "привлекаю" "привлекает" "1a" ; privoditq_V = mkV imperfective transitive "приводить" "привожу" "приводит" "4c" ; privyknutq_V = mkV perfective transitive "привыкнуть" "привыкну" "привыкнет" "3°a" ; + privyknutq_VV = mkVV privyknutq_V ; priglasitq_V = mkV perfective transitive "пригласить" "приглашу" "пригласит" "4b" ; + priglasitq_VV = mkVV priglasitq_V ; priglashatq_V = mkV imperfective transitive "приглашать" "приглашаю" "приглашает" "1a" ; + priglashatq_VV = mkVV priglashatq_V ; prigotovitq_V = mkV perfective transitive "приготовить" "приготовлю" "приготовит" "4a" ; pridavatq_V = mkV imperfective transitive "придавать" "придаю" "придаёт" "13b" ; pridumatq_V = mkV perfective transitive "придумать" "придумаю" "придумает" "1a" ; + pridumatq_VS = mkVS pridumatq_V ; priezzhatq_V = mkV imperfective transitive "приезжать" "приезжаю" "приезжает" "1a" ; priehatq_V = mkV perfective intransitive "приехать" "приеду" "приедет" ; + priehatq_VV = mkVV priehatq_V ; prizhatq_V = mkV perfective transitive "прижать" "прижму" "прижмёт" "14b" ; prizvatq_V = mkV perfective transitive "призвать" "призову" "призовёт" "6°b/c" ; + prizvatq_VS = mkVS prizvatq_V ; priznavatq_V = mkV imperfective transitive "признавать" "признаю" "признаёт" "13b" ; priznavatqsja_V = mkV imperfective intransitive "признаваться" "признаюсь" "признаётся" "13b" ; priznatq_V = mkV perfective transitive "признать" "признаю" "признает" "1a" ; priznatqsja_V = mkV perfective intransitive "признаться" "признаюсь" "признается" "1a" ; prizyvatq_V = mkV imperfective transitive "призывать" "призываю" "призывает" "1a" ; prijti_V = mkV perfective transitive "прийти" ; + prijti_VV = mkVV prijti_V ; prijtisq_V = mkV perfective intransitive "прийтись" ; prikazatq_V = mkV perfective transitive "приказать" "прикажу" "прикажет" "6c" ; + prikazatq_VV = mkVV prikazatq_V ; prikrytq_V = mkV perfective transitive "прикрыть" "прикрою" "прикроет" "12a" ; primenjatq_V = mkV imperfective transitive "применять" "применяю" "применяет" "1a" ; primenjatqsja_V = mkV imperfective intransitive "применяться" "применяюсь" "применяется" "1a" ; @@ -1751,6 +1772,7 @@ lin prinositq_V = mkV imperfective transitive "приносить" "приношу" "приносит" "4c" ; prinjatq_V = mkV perfective transitive "принять" "приму" "примет" ; prinjatqsja_V = mkV perfective intransitive "приняться" "примусь" "примется" "14c/b" ; + prinjatqsja_VV = mkVV prinjatqsja_V ; priobresti_V = mkV perfective transitive "приобрести" "приобрету" "приобретёт" ; priobretatq_V = mkV imperfective transitive "приобретать" "приобретаю" "приобретает" "1a" ; pripisatq_V = mkV perfective transitive "приписать" "припишу" "припишет" "6c" ; @@ -1760,9 +1782,13 @@ lin pristupitq_V = mkV perfective transitive "приступить" "приступлю" "приступит" "4c" ; prisutstvovatq_V = mkV imperfective transitive "присутствовать" "присутствую" "присутствует" "2a" ; prihoditq_V = mkV imperfective transitive "приходить" "прихожу" "приходит" "4c" ; + prihoditq_VV = mkVV prihoditq_V ; prihoditqsja_V = mkV imperfective intransitive "приходиться" "прихожусь" "приходится" "4c" ; + prihoditqsja_VV = mkVV prihoditqsja_V ; probovatq_V = mkV imperfective transitive "пробовать" "пробую" "пробует" "2a" ; + probovatq_VV = mkVV probovatq_V ; probormotatq_V = mkV perfective transitive "пробормотать" "пробормочу" "пробормочет" "6c" ; + probormotatq_VS = mkVS probormotatq_V ; proveritq_V = mkV perfective transitive "проверить" "проверю" "проверит" "4a" ; proverjatq_V = mkV imperfective transitive "проверять" "проверяю" "проверяет" "1a" ; provesti_V = mkV perfective transitive "провести" "проведу" "проведёт" "7b/b" ; @@ -1770,11 +1796,14 @@ lin provoditqsja_V = mkV imperfective intransitive "проводиться" "провожусь" "проводится" "4c" ; provozhatq_V = mkV imperfective transitive "провожать" "провожаю" "провожает" "1a" ; progovoritq_V = mkV perfective transitive "проговорить" "проговорю" "проговорит" "4b" ; + progovoritq_VS = mkVS progovoritq_V ; prodavatq_V = mkV imperfective transitive "продавать" "продаю" "продаёт" "13b" ; prodatq_V = mkV perfective transitive "продать" ; prodolzhatq_V = mkV imperfective transitive "продолжать" "продолжаю" "продолжает" "1a" ; + prodolzhatq_VV = mkVV prodolzhatq_V ; prodolzhatqsja_V = mkV imperfective intransitive "продолжаться" "продолжаюсь" "продолжается" "1a" ; prodolzhitq_V = mkV perfective transitive "продолжить" "продолжу" "продолжит" "4a" ; + prodolzhitq_VV = mkVV prodolzhitq_V ; prozhivatq_V = mkV imperfective transitive "проживать" "проживаю" "проживает" "1a" ; prozhitq_V = mkV perfective transitive "прожить" "проживу" "проживёт" ; prozvuchatq_V = mkV perfective transitive "прозвучать" "прозвучу" "прозвучит" "5b" ; @@ -1790,14 +1819,18 @@ lin propastq_V = mkV perfective transitive "пропасть" "пропаду" "пропадёт" "7b" ; propustitq_V = mkV perfective transitive "пропустить" "пропущу" "пропустит" "4c" ; prositq_V = mkV imperfective transitive "просить" "прошу" "просит" "4c" ; + prositq_VV = mkVV prositq_V; prosnutqsja_V = mkV perfective intransitive "проснуться" "проснусь" "проснётся" "3b" ; prostitq_V = mkV perfective transitive "простить" "прощу" "простит" "4b" ; protivorechitq_V = mkV imperfective transitive "противоречить" "противоречу" "противоречит" "4a" ; protjanutq_V = mkV perfective transitive "протянуть" "протяну" "протянет" "3c" ; prohoditq_V = mkV imperfective transitive "проходить" "прохожу" "проходит" "4c" ; prochestq_V = mkV perfective transitive "прочесть" "прочту" "прочтёт" ; + prochestq_VS = mkVS prochestq_V ; prochitatq_V = mkV perfective transitive "прочитать" "прочитаю" "прочитает" "1a" ; + prochitatq_VS = mkVS prochitatq_V ; prosheptatq_V = mkV perfective transitive "прошептать" "прошепчу" "прошепчет" "6c" ; + prosheptatq_VS = mkVS prosheptatq_V ; proszatq_V = mkV imperfective transitive "прощать" "прощаю" "прощает" "1a" ; projavitq_V = mkV perfective transitive "проявить" "проявлю" "проявит" "4c" ; projavljatq_V = mkV imperfective transitive "проявлять" "проявляю" "проявляет" "1a" ; @@ -1809,6 +1842,7 @@ lin puskatq_V = mkV imperfective transitive "пускать" "пускаю" "пускает" "1a" ; pustitq_V = mkV perfective transitive "пустить" "пущу" "пустит" "4c" ; pytatqsja_V = mkV imperfective intransitive "пытаться" "пытаюсь" "пытается" "1a" ; + pytatqsja_VV = mkVV pytatqsja_V ; rabotatq_V = mkV imperfective transitive "работать" "работаю" "работает" "1a" ; radovatqsja_V = mkV imperfective intransitive "радоваться" "радуюсь" "радуется" "2a" ; razbiratqsja_V = mkV imperfective intransitive "разбираться" "разбираюсь" "разбирается" "1a" ; @@ -1840,7 +1874,9 @@ lin rasprostranitq_V = mkV perfective transitive "распространить" "распространю" "распространит" "4b" ; rasprostranjatqsja_V = mkV imperfective intransitive "распространяться" "распространяюсь" "распространяется" "1a" ; rasskazatq_V = mkV perfective transitive "рассказать" "расскажу" "расскажет" "6c" ; + rasskazatq_VS = mkVS rasskazatq_V ; rasskazyvatq_V = mkV imperfective transitive "рассказывать" "рассказываю" "рассказывает" "1a" ; + rasskazyvatq_VS = mkVS rasskazyvatq_V ; rassmatrivatq_V = mkV imperfective transitive "рассматривать" "рассматриваю" "рассматривает" "1a" ; rassmatrivatqsja_V = mkV imperfective intransitive "рассматриваться" "рассматриваюсь" "рассматривается" "1a" ; rassmejatqsja_V = mkV perfective intransitive "рассмеяться" "рассмеюсь" "рассмеётся" "6b" ; @@ -1848,18 +1884,26 @@ lin rasstatqsja_V = mkV perfective intransitive "расстаться" "расстанусь" "расстанется" "15a" ; rasstreljatq_V = mkV perfective transitive "расстрелять" "расстреляю" "расстреляет" "1a" ; rassuzhdatq_V = mkV imperfective transitive "рассуждать" "рассуждаю" ; + rassuzhdatq_VS = mkVS rassuzhdatq_V ; rasschitatq_V = mkV perfective transitive "рассчитать" "рассчитаю" "рассчитает" "1a" ; rasschityvatq_V = mkV imperfective transitive "рассчитывать" "рассчитываю" "рассчитывает" "1a" ; + rasschityvatq_VV = mkVV rasschityvatq_V ; rasti_V = mkV imperfective transitive "расти" "расту" "растёт" "7b/b" ; rasshiritq_V = mkV perfective transitive "расширить" "расширю" "расширит" "4a" ; rvatqsja_V = mkV imperfective intransitive "рваться" "рвусь" "рвётся" "6°b/c"; + rvatqsja_VV = mkVV rvatqsja_V; reagirovatq_V = mkV imperfective transitive "реагировать" "реагирую" "реагирует" "2a" ; realizovatq_V = mkV imperfective transitive "реализовать" "реализую" "реализует" "2a" ; rekomendovatq_V = mkV imperfective transitive "рекомендовать" "рекомендую" "рекомендует" "2a" ; + rekomendovatq_VS = mkVS rekomendovatq_V ; reshatq_V = mkV imperfective transitive "решать" "решаю" "решает" "1a" ; + reshatq_VV = mkVV reshatq_V ; reshatqsja_V = mkV imperfective intransitive "решаться" "решаюсь" "решается" "1a" ; + reshatqsja_VV = mkVV reshatqsja_V ; reshitq_V = mkV perfective transitive "решить" "решу" "решит" "4b" ; + reshitq_VV = mkVV reshitq_V ; reshitqsja_V = mkV perfective intransitive "решиться" "решусь" "решится" "4b" ; + reshitqsja_VV = mkVV reshitqsja_V ; riskovatq_V = mkV imperfective transitive "рисковать" "рискую" "рискует" "2a" ; risovatq_V = mkV imperfective transitive "рисовать" "рисую" "рисует" "2a" ; roditq_V = mkV perfective transitive "родить" "рожу" "родит" "4b/c" ; @@ -1883,6 +1927,7 @@ lin sidetq_V = mkV imperfective transitive "сидеть" "сижу" "сидит" ; sijatq_V = mkV imperfective transitive "сиять" "сияю" "сияет" "1a" ; skazatq_V = mkV perfective transitive "сказать" "скажу" "скажет" "6c" ; + skazatq_VS = mkVS skazatq_V ; skladyvatqsja_V = mkV imperfective intransitive "складываться" "складываюсь" "складывается" "1a" ; skryvatq_V = mkV imperfective transitive "скрывать" "скрываю" "скрывает" "1a" ; skrytq_V = mkV perfective transitive "скрыть" "скрою" "скроет" "12a"; @@ -1907,14 +1952,19 @@ lin snjatq_V = mkV perfective transitive "снять" "сниму" "снимет" "14c/c" ; sobiratq_V = mkV imperfective transitive "собирать" "собираю" "собирает" "1a" ; sobiratqsja_V = mkV imperfective intransitive "собираться" "собираюсь" "собирается" "1a" ; + sobiratqsja_VV = mkVV sobiratqsja_V ; sobratq_V = mkV perfective transitive "собрать" "соберу" "соберёт" "6°b/c" ; sobratqsja_V = mkV perfective intransitive "собраться" "соберусь" "соберётся" ; + sobratqsja_VV = mkVV sobratqsja_V ; sovershatq_V = mkV imperfective transitive "совершать" "совершаю" "совершает" "1a" ; sovershitq_V = mkV perfective transitive "совершить" "совершу" "совершит" "4b" ; sovetovatq_V = mkV imperfective transitive "советовать" "советую" "советует" "2a" ; + sovetovatq_VS = mkVS sovetovatq_V ; sovpadatq_V = mkV imperfective transitive "совпадать" "совпадаю" ; soglasitqsja_V = mkV perfective intransitive "согласиться" "соглашусь" "согласится" "4b" ; + soglasitqsja_VV = mkVV soglasitqsja_V ; soglashatqsja_V = mkV imperfective intransitive "соглашаться" "соглашаюсь" "соглашается" "1a" ; + soglashatqsja_VV = mkVV soglashatqsja_V ; soderzhatq_V = mkV imperfective transitive "содержать" "содержу" "содержит" "5c" ; soderzhatqsja_V = mkV perfective intransitive "содержаться" "содержусь" "содержится" "5c"; soedinitq_V = mkV perfective transitive "соединить" "соединю" "соединит" "4b" ; @@ -1924,6 +1974,7 @@ lin sojti_V = mkV perfective transitive "сойти" ; sokratitq_V = mkV perfective transitive "сократить" "сокращу" "сократит" "4b" ; somnevatqsja_V = mkV imperfective intransitive "сомневаться" "сомневаюсь" "сомневается" "1a" ; + somnevatqsja_VS = mkVS somnevatqsja_V ; soobrazitq_V = mkV perfective transitive "сообразить" "соображу" "сообразит" "4b" ; soobszatq_V = mkV imperfective transitive "сообщать" "сообщаю" "сообщает" "1a" ; soobszitq_V = mkV perfective transitive "сообщить" "сообщу" "сообщит" "4b" ; diff --git a/src/russian/DictRusAbs.gf b/src/russian/DictRusAbs.gf index bc046a40..843f9644 100644 --- a/src/russian/DictRusAbs.gf +++ b/src/russian/DictRusAbs.gf @@ -1278,6 +1278,7 @@ fun kosnutqsja_V : V; kriknutq_V : V; krichatq_V : V; + krichatq_VS : VS; krutitq_V : V; kupitq_V : V; kuritq_V : V; @@ -1676,8 +1677,11 @@ fun prevraszatqsja_V : V; prevyshatq_V : V; predlagatq_V : V; + predlagatq_VS : VS; predlagatq_VV : VV; predlagatqsja_V : V; + predlagatqsja_VS : VS; + predlagatqsja_VV : VV; predlozhitq_V : V; predlozhitq_VV : VV; prednaznachitq_V : V; @@ -1685,21 +1689,30 @@ fun predostavljatq_V : V; predpolagatq_V : V; predpolagatq_VS : VS; + predpolagatq_VV : VV; predpolagatqsja_V : V; predpolagatqsja_VS : VS; + predpolagatqsja_VV : VV; predpolozhitq_V : V; predpolozhitq_VS : VS; + predpolozhitq_VV : VV; predpochitatq_V : V; + predpochitatq_VV : VV; predstavitq_V : V; predstavljatq_V : V; + predstavljatq_VS : VS; predstavljatqsja_V : V; predstojatq_V : V; + predstojatq_VV : VV; predupreditq_V : V; + predupreditq_VS : VS; preduprezhdatq_V : V; + preduprezhdatq_VS : VS; predusmatrivatq_V : V; predusmotretq_V : V; pred6javitq_V : V; prekratitq_V : V; + prekratitq_VV : VV; preodoletq_V : V; prervatq_V : V; priblizhatqsja_V : V; @@ -1709,23 +1722,31 @@ fun privlekatq_V : V; privoditq_V : V; privyknutq_V : V; + privyknutq_VV : VV; priglasitq_V : V; + priglasitq_VV : VV; priglashatq_V : V; + priglashatq_VV : VV; prigotovitq_V : V; pridavatq_V : V; pridumatq_V : V; + pridumatq_VS : VS; priezzhatq_V : V; priehatq_V : V; + priehatq_VV : VV; prizhatq_V : V; prizvatq_V : V; + prizvatq_VS : VS; priznavatq_V : V; priznavatqsja_V : V; priznatq_V : V; priznatqsja_V : V; prizyvatq_V : V; prijti_V : V; + prijti_VV : VV; prijtisq_V : V; prikazatq_V : V; + prikazatq_VV : VV; prikrytq_V : V; primenjatq_V : V; primenjatqsja_V : V; @@ -1736,6 +1757,7 @@ fun prinositq_V : V; prinjatq_V : V; prinjatqsja_V : V; + prinjatqsja_VV : VV; priobresti_V : V; priobretatq_V : V; pripisatq_V : V; @@ -1745,9 +1767,13 @@ fun pristupitq_V : V; prisutstvovatq_V : V; prihoditq_V : V; + prihoditq_VV : VV; prihoditqsja_V : V; + prihoditqsja_VV : VV; probovatq_V : V; + probovatq_VV : VV; probormotatq_V : V; + probormotatq_VS : VS; proveritq_V : V; proverjatq_V : V; provesti_V : V; @@ -1755,11 +1781,14 @@ fun provoditqsja_V : V; provozhatq_V : V; progovoritq_V : V; + progovoritq_VS : VS; prodavatq_V : V; prodatq_V : V; prodolzhatq_V : V; + prodolzhatq_VV : VV; prodolzhatqsja_V : V; prodolzhitq_V : V; + prodolzhitq_VV : VV; prozhivatq_V : V; prozhitq_V : V; prozvuchatq_V : V; @@ -1775,14 +1804,18 @@ fun propastq_V : V; propustitq_V : V; prositq_V : V; + prositq_VV : VV; prosnutqsja_V : V; prostitq_V : V; protivorechitq_V : V; protjanutq_V : V; prohoditq_V : V; prochestq_V : V; + prochestq_VS : VS; prochitatq_V : V; + prochitatq_VS : VS; prosheptatq_V : V; + prosheptatq_VS : VS; proszatq_V : V; projavitq_V : V; projavljatq_V : V; @@ -1794,6 +1827,7 @@ fun puskatq_V : V; pustitq_V : V; pytatqsja_V : V; + pytatqsja_VV : VV; rabotatq_V : V; radovatqsja_V : V; razbiratqsja_V : V; @@ -1825,7 +1859,9 @@ fun rasprostranitq_V : V; rasprostranjatqsja_V : V; rasskazatq_V : V; + rasskazatq_VS : VS; rasskazyvatq_V : V; + rasskazyvatq_VS : VS; rassmatrivatq_V : V; rassmatrivatqsja_V : V; rassmejatqsja_V : V; @@ -1833,18 +1869,26 @@ fun rasstatqsja_V : V; rasstreljatq_V : V; rassuzhdatq_V : V; + rassuzhdatq_VS : VS; rasschitatq_V : V; rasschityvatq_V : V; + rasschityvatq_VV : VV; rasti_V : V; rasshiritq_V : V; rvatqsja_V : V; + rvatqsja_VV : VV; reagirovatq_V : V; realizovatq_V : V; rekomendovatq_V : V; + rekomendovatq_VS : VS; reshatq_V : V; + reshatq_VV : VV; reshatqsja_V : V; + reshatqsja_VV : VV; reshitq_V : V; + reshitq_VV : VV; reshitqsja_V : V; + reshitqsja_VV : VV; riskovatq_V : V; risovatq_V : V; roditq_V : V; @@ -1868,6 +1912,7 @@ fun sidetq_V : V; sijatq_V : V; skazatq_V : V; + skazatq_VS : VS; skladyvatqsja_V : V; skryvatq_V : V; skrytq_V : V; @@ -1892,14 +1937,19 @@ fun snjatq_V : V; sobiratq_V : V; sobiratqsja_V : V; + sobiratqsja_VV : VV; sobratq_V : V; sobratqsja_V : V; + sobratqsja_VV : VV; sovershatq_V : V; sovershitq_V : V; sovetovatq_V : V; + sovetovatq_VS : VS; sovpadatq_V : V; soglasitqsja_V : V; + soglasitqsja_VV : VV; soglashatqsja_V : V; + soglashatqsja_VV : VV; soderzhatq_V : V; soderzhatqsja_V : V; soedinitq_V : V; @@ -1909,6 +1959,7 @@ fun sojti_V : V; sokratitq_V : V; somnevatqsja_V : V; + somnevatqsja_VS : VS; soobrazitq_V : V; soobszatq_V : V; soobszitq_V : V; diff --git a/src/russian/ExtraRus.gf b/src/russian/ExtraRus.gf index b3da263f..2988a360 100644 --- a/src/russian/ExtraRus.gf +++ b/src/russian/ExtraRus.gf @@ -95,6 +95,9 @@ lin wherefrom_Adv = ss "откуда" ; whereto_Adv = ss "куда" ; + not_AdA = ss "не" ; + rather_AdA = ss "довольно" ; + have_V3 = P.mkV3 est_ell_V nom_Prep u_Prep; have2_V3 = P.mkV3 est_V nom_Prep u_Prep; have_not_V3 = P.mkV3 net_V obj_neg_Prep u_Prep; diff --git a/src/russian/ExtraRusAbs.gf b/src/russian/ExtraRusAbs.gf index a15589c9..f8238113 100644 --- a/src/russian/ExtraRusAbs.gf +++ b/src/russian/ExtraRusAbs.gf @@ -77,6 +77,9 @@ fun wherefrom_Adv : Adv ; whereto_Adv : Adv ; + not_AdA : AdA ; + rather_AdA : AdA ; + nechto_NP : NP ; anybody_NP : NP ; diff --git a/src/russian/LexiconRus.gf b/src/russian/LexiconRus.gf index cd67afb6..8cb849ce 100644 --- a/src/russian/LexiconRus.gf +++ b/src/russian/LexiconRus.gf @@ -14,7 +14,7 @@ lin apple_N = mkN "яблоко" neuter inanimate "3a(1)" ; art_N = mkN "искусство" ; ashes_N = mkN "пепел" masculine inanimate "1*a" only_singular; - ask_V2Q = dirV2 (mkV perfective "спросить" "спрошу" "спросит") ; + ask_V2Q = dirV2 (mkV perfective transitive "спросить" "спрошу" "спросит" "4c") ; baby_N = mkN "малыш" masculine animate "4b" ; back_N = mkN "спина" ; bad_A = mkA "плохой" "хуже" "3b/c'"; @@ -254,7 +254,7 @@ lin science_N = mkN "наука" ; scratch_V2 = mkV2 (mkV imperfective "чесать" "чешу" "чешет"); sea_N = mkN "море" neuter inanimate "2c" ; - see_V2 = mkV2 (mkV imperfective transitive "видеть" "вижу" "видит" "5a") ; -- {pppss="виден"} + see_V2 = (mkV2plus (mkV2 (mkV imperfective transitive "видеть" "вижу" "видит" "5a"))) ** {pppss="виден"} ; seed_N = mkN "семя" neuter inanimate "8°c" ; seek_V2 = mkV2 (mkV imperfective "искать" "ищу" "ищет"); sell_V3 = tvDirDir (mkV imperfective "продавать" "продаю" "продаёт"); diff --git a/src/russian/ParamRus.gf b/src/russian/ParamRus.gf index 29731ec8..87d75fd0 100644 --- a/src/russian/ParamRus.gf +++ b/src/russian/ParamRus.gf @@ -102,4 +102,7 @@ oper refl : Reflexivity ; tran : Transitivity } ; + ComplementCase : Type = {s : Str ; c : Case ; neggen : Bool ; hasPrep : Bool} ; + VerbForms2 : Type = VerbForms ** {c : ComplementCase} ; + VerbForms3 : Type = VerbForms ** {c : ComplementCase ; c2 : ComplementCase} ; } diff --git a/src/russian/ResRus.gf b/src/russian/ResRus.gf index 4ada8d05..38abf2fc 100644 --- a/src/russian/ResRus.gf +++ b/src/russian/ResRus.gf @@ -607,6 +607,10 @@ oper mkVplus : VerbForms -> VerbForms = \vf -> vf ; + mkV2plus : VerbForms2 -> VerbForms2 + = \vf -> vf ; + mkV3plus : VerbForms3 -> VerbForms3 + = \vf -> vf ; quickGuessVerbForms : Str -> VerbForms = \inf -> @@ -846,13 +850,13 @@ oper => subj ++ pol.s ++ adv ++ verbInf vf } ; _ => case of { - => subj ++ pol.s ++ adv ++ verbPastAgree vf a "" ; - => subj ++ pol.s ++ adv ++ verbPresAgree vf a ; - => subj ++ pol.s ++ adv ++ verbFutAgree vf a ; - => subj ++ pol.s ++ adv ++ verbPastAgree vf a "бы" ; - => subj ++ pol.s ++ adv ++ verbPastAgree vf a "бы" ; - => let p = verbImperativeAgree vf a in p.p1 ++ subj ++ pol.s ++ adv ++ p.p2 ; - => subj ++ pol.s ++ adv ++ verbInf vf + => subj ++ adv ++ pol.s ++ verbPastAgree vf a "" ; + => subj ++ adv ++ pol.s ++ verbPresAgree vf a ; + => subj ++ adv ++ pol.s ++ verbFutAgree vf a ; + => subj ++ adv ++ pol.s ++ verbPastAgree vf a "бы" ; + => subj ++ adv ++ pol.s ++ verbPastAgree vf a "бы" ; + => let p = verbImperativeAgree vf a in p.p1 ++ subj ++ adv ++ pol.s ++ p.p2 ; + => subj ++ adv ++ pol.s ++ verbInf vf } } ; @@ -1539,7 +1543,6 @@ oper -- Misc oper - ComplementCase : Type = {s : Str ; c : Case ; neggen : Bool ; hasPrep : Bool} ; applyPrep : ComplementCase -> NounPhrase -> Str = \prep,np -> case of { diff --git a/src/russian/test_api.treebank b/src/russian/test_api.treebank index 486741cf..8f379a95 100644 --- a/src/russian/test_api.treebank +++ b/src/russian/test_api.treebank @@ -668,7 +668,7 @@ AllRusAbs: UttNP (PredetNP only_Predet (DetCN (DetQuant this_Quant NumSg) (UseN AllRus: Единственная эта женщина AllRusAbs: UttNP (PPartNP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) see_V2) -AllRus: Человек вижен +AllRus: Человек виден AllRusAbs: UttNP (AdvNP (UsePN paris_PN) today_Adv) AllRus: Париж сегодня diff --git a/src/russian/test_failing.gfs b/src/russian/test_failing.gfs index 073f83af..e2254ee7 100644 --- a/src/russian/test_failing.gfs +++ b/src/russian/test_failing.gfs @@ -25,6 +25,7 @@ gt UseCl (TTAnt TPres AAnter) PNeg (AdvIsNP everywhere_Adv (MassNP (UseN sky_N)) gt AdjCN (PastPartAP ( SlashV2a ? ) ) (UseN house_N) | l -treebank gt OrdNumeral (num (pot3 (pot2plus pot01 pot111))) |l -treebank gt OrdNumeral (num (pot3 (pot2 pot01))) |l -treebank +gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVQ wonder_VQ (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV sleep_V)))))) |l -treebank gt PhrUtt (PConjConj both7and_DConj) (UttAdv now_Adv) NoVoc |l -treebank gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (DetNP (DetQuant DefArt NumSg))))) |l -treebank gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron)))) |l -treebank @@ -32,7 +33,6 @@ gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash gt UttS (UseCl (TTAnt TPres ASimul) PPos (ImpersCl (AdvVP (AdvVP UseCopula here_Adv) (SubjS that_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))))))) |l -treebank gt UttS (UseCl (TTAnt TPres ASimul) PPos (ImpersCl (AdvVP (UseComp (CompAdv here_Adv)) (SubjS that_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))))))) |l -treebank gt UttNP (DetNP (DetQuantOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A))) |l -treebank -gt UttNP (PPartNP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) see_V2) |l -treebank gt UttNP (DetNP (DetQuantOrd DefArt NumPl (OrdNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) |l -treebank gt UttNP (DetNP (DetQuantOrd IndefArt NumPl (OrdSuperl small_A))) |l -treebank gt UttCN (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2A paint_V2A (AdAP very_AdA (PositA red_A))) (UsePron it_Pron))))) |l -treebank diff --git a/src/russian/test_failing.treebank b/src/russian/test_failing.treebank index 5c35ecc9..f69b4f7a 100644 --- a/src/russian/test_failing.treebank +++ b/src/russian/test_failing.treebank @@ -338,7 +338,7 @@ AllRus: терт дом AllRusAbs: AdjCN (PastPartAP (SlashV2a scratch_V2)) (UseN house_N) AllRus: чесан дом AllRusAbs: AdjCN (PastPartAP (SlashV2a see_V2)) (UseN house_N) -AllRus: вижен дом +AllRus: виден дом AllRusAbs: AdjCN (PastPartAP (SlashV2a seek_V2)) (UseN house_N) AllRus: искан дом AllRusAbs: AdjCN (PastPartAP (SlashV2a speak_V2)) (UseN house_N) @@ -382,6 +382,9 @@ AllRus: ста одиннадцати &+ тысячное AllRusAbs: OrdNumeral (num (pot3 (pot2 pot01))) AllRus: ста &+ тысячное +AllRusAbs: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVQ wonder_VQ (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV sleep_V)))))) +AllRus: она интересует &+ ся , что кто спит + AllRusAbs: PhrUtt (PConjConj both7and_DConj) (UttAdv now_Adv) NoVoc AllRus: , так и сейчас @@ -403,9 +406,6 @@ AllRus: здесь есть что она спит AllRusAbs: UttNP (DetNP (DetQuantOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A))) AllRus: данное пять самых хороших -AllRusAbs: UttNP (PPartNP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) see_V2) -AllRus: человек вижен - AllRusAbs: UttNP (DetNP (DetQuantOrd DefArt NumPl (OrdNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) AllRus: данное пятые @@ -506,7 +506,7 @@ AllRus: терт дом AllRusAbs: AdjCN (PastPartAP (SlashV2a scratch_V2)) (UseN house_N) AllRus: чесан дом AllRusAbs: AdjCN (PastPartAP (SlashV2a see_V2)) (UseN house_N) -AllRus: вижен дом +AllRus: виден дом AllRusAbs: AdjCN (PastPartAP (SlashV2a seek_V2)) (UseN house_N) AllRus: искан дом AllRusAbs: AdjCN (PastPartAP (SlashV2a speak_V2)) (UseN house_N)