From 5b636496ef6abf6f22dfb3b9e345a300d7a6f667 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Tue, 15 Oct 2024 16:38:34 +0200 Subject: [PATCH] added LN,GN,SN --- src/latvian/CatLav.gf | 3 ++- src/latvian/ParadigmsLav.gf | 27 +++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/latvian/CatLav.gf b/src/latvian/CatLav.gf index be990f60..2965b45c 100644 --- a/src/latvian/CatLav.gf +++ b/src/latvian/CatLav.gf @@ -110,7 +110,8 @@ lincat N3 = Noun ** {prep1, prep2 : Preposition ; isPre1, isPre2 : Bool} ; - PN = ProperNoun ; + PN,LN,GN = ProperNoun ; + SN = {s : Sex => Case => Str; pl : Case => Str} ; -- Overriden from CommonX diff --git a/src/latvian/ParadigmsLav.gf b/src/latvian/ParadigmsLav.gf index c3bb6aea..470146cd 100644 --- a/src/latvian/ParadigmsLav.gf +++ b/src/latvian/ParadigmsLav.gf @@ -49,10 +49,28 @@ oper } ; mkPN = overload { - mkN : (lemma : Str) -> PN = \l -> lin PN (mkProperNoun l Sg) ; - mkN : (lemma : Str) -> Number -> PN = \l,n -> lin PN (mkProperNoun l n) ; + mkPN : (lemma : Str) -> PN = \l -> lin PN (mkProperNoun l Sg) ; + mkPN : (lemma : Str) -> Number -> PN = \l,n -> lin PN (mkProperNoun l n) ; } ; + mkLN = overload { + mkLN : Str -> LN = \s -> lin LN (mkProperNoun s Sg); -- default gender utrum + mkLN : Str -> Number -> LN = \s,n -> lin LN (mkProperNoun s n) ; -- set other number + } ; + + mkGN = overload { + mkGN : Str -> GN = \s -> lin GN (mkProperNoun s Sg); + } ; + + mkSN = overload { + mkSN : Str -> SN = \s -> lin SN {s = \\_ => (mkProperNoun s Sg).s; pl = (mkProperNoun s Sg).s}; -- default gender utrum + mkSN : Str -> Str -> Str -> SN = + \male,female,pl -> lin SN {s = table {Male => (mkProperNoun male Sg).s; + Female => (mkProperNoun female Sg).s} ; + pl = (mkProperNoun pl Sg).s + } ; + } ; + mkN2 = overload { mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {prep = p ; isPre = True}) ; mkN2 : N -> Prep -> Bool -> N2 = \n,p,pos -> lin N2 (n ** {prep = p ; isPre = pos}) ; @@ -140,6 +158,8 @@ oper dat_Prep : Prep = mkPrep Dat ; acc_Prep : Prep = mkPrep Acc ; loc_Prep : Prep = mkPrep Loc ; + + mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; -- Adverbs @@ -226,4 +246,7 @@ oper } } ; + mkInterj : Str -> Interj + = \s -> lin Interj {s = s} ; + }