From 97b8cb72aaead3a365d5f7f9bb1b20c741b49f70 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 29 Apr 2026 11:45:47 +0200 Subject: [PATCH] added pronouns --- src/ukrainian/CatUkr.gf | 1 + src/ukrainian/GrammarUkr.gf | 5 +++-- src/ukrainian/ParadigmsUkr.gf | 15 +++++++++++++++ src/ukrainian/StructuralUkr.gf | 11 +++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/ukrainian/StructuralUkr.gf diff --git a/src/ukrainian/CatUkr.gf b/src/ukrainian/CatUkr.gf index f233e219..9e6c87d6 100644 --- a/src/ukrainian/CatUkr.gf +++ b/src/ukrainian/CatUkr.gf @@ -3,6 +3,7 @@ concrete CatUkr of Cat = CommonX ** open ResUkr in { lincat N = N ; lincat N2 = N ** {c2 : Compl} ; lincat N3 = N ** {c2,c3 : Compl} ; +lincat Pron = {s: Case => Str; g: Gender; n : Number; p: Person} ; lincat V = V ; lincat VV,VS,VQ,VA = V ; lincat V2 = V ** {c2 : Compl} ; diff --git a/src/ukrainian/GrammarUkr.gf b/src/ukrainian/GrammarUkr.gf index a7d6ff4d..a6293ab2 100644 --- a/src/ukrainian/GrammarUkr.gf +++ b/src/ukrainian/GrammarUkr.gf @@ -2,5 +2,6 @@ concrete GrammarUkr of Grammar = TenseX, PhraseUkr, NounUkr, - AdjectiveUkr ** { -} \ No newline at end of file + AdjectiveUkr, + StructuralUkr ** { +} diff --git a/src/ukrainian/ParadigmsUkr.gf b/src/ukrainian/ParadigmsUkr.gf index 7ee5f446..9d18ba01 100644 --- a/src/ukrainian/ParadigmsUkr.gf +++ b/src/ukrainian/ParadigmsUkr.gf @@ -1161,6 +1161,21 @@ oper } } ; + mkPron : (_,_,_,_,_,_ : Str) -> Gender -> Number -> Person -> Pron = + \nom,acc,dat,gen,loc,instr,g,n,p -> lin Pron { + s = table { + Nom => nom ; + Acc => acc ; + Dat => dat ; + Gen => gen ; + Loc => loc ; + Instr => instr + } ; + g = g ; + n = n ; + p = p + } ; + regV : Str -> V -- Active;Imperf;Pres;P1;Sg = \form -> case form of { _ + "вати" => mkV036 form; diff --git a/src/ukrainian/StructuralUkr.gf b/src/ukrainian/StructuralUkr.gf new file mode 100644 index 00000000..4ddd9e80 --- /dev/null +++ b/src/ukrainian/StructuralUkr.gf @@ -0,0 +1,11 @@ +concrete StructuralUkr of Structural = CatUkr ** open ResUkr, ParadigmsUkr in { +lin + i_Pron = mkPron "я" "мене" "мені" "мене" "мені" "мною" Masc Sg P1 ; + youSg_Pron = mkPron "ти" "тeбе" "тобі" "мене" "тобі" "тобою" Masc Sg P2 ; + he_Pron = mkPron "він" "його" "йому" "його" "ньому" "ним" Masc Sg P3 ; + she_Pron = mkPron "вона" "її" "їй" "її" "ній" "нею" Fem Sg P3 ; + it_Pron = mkPron "воно" "його" "йому" "його" "ньому" "ним" Neuter Sg P3 ; + we_Pron = mkPron "ми" "нас" "нам" "нас" "наc" "нами" Masc Pl P1 ; + youPl_Pron = mkPron "ви" "вас" "вам" "вас" "вас" "вами" Masc Pl P2 ; + they_Pron = mkPron "вони" "їх" "їм" "їх" "них" "ними" Masc Pl P3 ; +}