From a223b3803ce419c647296ba9884c41ac60ad4f97 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Mon, 24 Aug 2026 09:59:08 +0200 Subject: [PATCH] add UttAdV in more languages --- src/arabic/ExtendAra.gf | 4 +++- src/bulgarian/ExtendBul.gf | 3 ++- src/common/ExtendFunctor.gf | 2 +- src/faroese/ExtendFao.gf | 2 ++ src/korean/ExtendKor.gf | 2 ++ src/latin/ExtendLat.gf | 2 +- src/macedonian/ExtendMkd.gf | 2 ++ src/slovenian/ExtendSlv.gf | 3 ++- src/tamil/ExtendTam.gf | 3 +++ src/turkish/ExtendTur.gf | 2 ++ src/ukrainian/ExtendUkr.gf | 3 ++- src/zulu/ExtendZul.gf | 2 ++ 12 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/arabic/ExtendAra.gf b/src/arabic/ExtendAra.gf index 1dcd38a7..5ae5527f 100644 --- a/src/arabic/ExtendAra.gf +++ b/src/arabic/ExtendAra.gf @@ -4,7 +4,7 @@ concrete ExtendAra of Extend = CatAra ** ExtendFunctor - [ GenNP, ApposNP, ICompAP, DetNPMasc, DetNPFem, EmptyRelSlash, PredAPVP, - ComplDirectVS, ComplDirectVQ, -- because of Utt + ComplDirectVS, ComplDirectVQ, UttAdV, -- because of Utt VPS, MkVPS, PredVPS, BaseVPS, ConsVPS, ConjVPS, EmbedSSlash, AdjAsNP, GerundNP, PassVPSlash, ---- bogus implementation, see below @@ -31,6 +31,8 @@ lin -- : NP -> NP -> NP ApposNP np1 np2 = np2 ** {s = \\c => np1.s ! c ++ np2.s ! c} ; + UttAdV adv = {s = \\_ => adv.s} ; + -- : AP -> IComp ; -- "how old" ICompAP ap = {s = \\gn => "كَمْ" ++ ap.s ! NoHum ! gn.g ! gn.n ! Indef ! Acc} ; diff --git a/src/bulgarian/ExtendBul.gf b/src/bulgarian/ExtendBul.gf index 6873348f..2c6933d6 100644 --- a/src/bulgarian/ExtendBul.gf +++ b/src/bulgarian/ExtendBul.gf @@ -8,6 +8,8 @@ lin AdAdV a adv = {s = a.s ++ adv.s; p = adv.p} ; + UttAdV adv = {s = adv.s} ; + EmptyRelSlash slash = { s = \\t,a,p,agr => linPrep slash.c2 ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main } ; @@ -319,4 +321,3 @@ lin ProDrop pro = pro ; lin TPastSimple = {s = []} ** {t = VPastSimple} ; --# notpresent } - diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index 845cb64c..55a39dc9 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -101,7 +101,7 @@ lin InOrderToVP = variants {} ; -- VP -> Adv ; -- (in order) to publish the document ApposNP = variants {} ; -- NP -> NP -> NP ; -- Mr Macron, the president of France, AdAdV = variants {} ; -- AdA -> AdV -> AdV ; -- almost always - UttAdV = variants {} ; -- AdV -> Utt ; -- always(!) + UttAdV adv = {s = adv.s} ; -- AdV -> Utt ; -- always(!) PositAdVAdj = variants {} ; -- A -> AdV ; -- (that she) positively (sleeps) CompS = variants {} ; -- S -> Comp ; -- (the fact is) that she sleeps CompQS = variants {} ; -- QS -> Comp ; -- (the question is) who sleeps diff --git a/src/faroese/ExtendFao.gf b/src/faroese/ExtendFao.gf index f4b96ff8..152bf91c 100644 --- a/src/faroese/ExtendFao.gf +++ b/src/faroese/ExtendFao.gf @@ -17,6 +17,8 @@ lincat X = {s : Str} ; lin + UttAdV adv = {s = adv.s} ; + iFem_Pron = mkPron "eg" "meg" "mær" "mín" Masc Sg P1 ; youFem_Pron = mkPron "tú" "teg" "tær" "tín" Masc Sg P2 ; weFem_Pron = mkPron "vit" "okkum" "okkum" "okkara" Masc Pl P1 ; diff --git a/src/korean/ExtendKor.gf b/src/korean/ExtendKor.gf index da807854..4484a702 100644 --- a/src/korean/ExtendKor.gf +++ b/src/korean/ExtendKor.gf @@ -6,6 +6,8 @@ concrete ExtendKor of Extend = CatKor ** open Prelude, ResKor, NounKor, Coordination, TenseX in { lin + UttAdV adv = {s = adv.s} ; + -- : NP -> NP -> NP ApposNP np1 np2 = np1 ** {s = \\nf => np1.s ! nf ++ np2.s ! nf} ; diff --git a/src/latin/ExtendLat.gf b/src/latin/ExtendLat.gf index 719f824b..b62aa0fc 100644 --- a/src/latin/ExtendLat.gf +++ b/src/latin/ExtendLat.gf @@ -221,7 +221,7 @@ concrete ExtendLat of Extend = CatLat ** open ResLat in { -- ApposNP : NP -> NP -> NP ; -- Mr Macron, the president of France, -- AdAdV : AdA -> AdV -> AdV ; -- almost always --- UttAdV : AdV -> Utt ; -- always(!) + UttAdV adv = {s = adv.s} ; -- PositAdVAdj : A -> AdV ; -- (that she) positively (sleeps) -- CompS : S -> Comp ; -- (the fact is) that she sleeps diff --git a/src/macedonian/ExtendMkd.gf b/src/macedonian/ExtendMkd.gf index c3c6bce9..56922a19 100644 --- a/src/macedonian/ExtendMkd.gf +++ b/src/macedonian/ExtendMkd.gf @@ -14,6 +14,8 @@ lincat lin GenModNP num np cn = DetCN (DetQuant DefArt num) (PossNP cn np) ; + UttAdV adv = {s = adv.s} ; + EmptyRelSlash slash = RelSlash IdRP slash ; CompoundN n1 n2 = diff --git a/src/slovenian/ExtendSlv.gf b/src/slovenian/ExtendSlv.gf index a945862d..0279663e 100644 --- a/src/slovenian/ExtendSlv.gf +++ b/src/slovenian/ExtendSlv.gf @@ -2,6 +2,8 @@ concrete ExtendSlv of Extend = CatSlv ** open ResSlv, ParadigmsSlv, GrammarSlv in { lin + UttAdV adv = {s = adv.s} ; + iFem_Pron = mkPron "jàz" "méne" "méne" "méni" "méni" ("menój"|"máno") "mój" "mòjega" "mòjemu" ("mòj"|"mòjega") "mòjem" "mòjim" "mòja" "mòjih" "mòjima" "mòja" "mòjih" "mòjima" @@ -60,4 +62,3 @@ lin TPastSimple = TPast ; } - diff --git a/src/tamil/ExtendTam.gf b/src/tamil/ExtendTam.gf index d3bcf69f..88b4fc6d 100644 --- a/src/tamil/ExtendTam.gf +++ b/src/tamil/ExtendTam.gf @@ -29,6 +29,9 @@ concrete ExtendTam of Extend = CatTam ] with (Grammar=GrammarTam) -} ** open Prelude, Coordination, ResTam, NounTam in { + lin + UttAdV adv = {s = adv.s} ; + -- lincat -- VPS, VPI = SS ; -- ListVPS, ListVPI = ListX ; diff --git a/src/turkish/ExtendTur.gf b/src/turkish/ExtendTur.gf index 986ffa2b..a2e30569 100644 --- a/src/turkish/ExtendTur.gf +++ b/src/turkish/ExtendTur.gf @@ -13,6 +13,8 @@ concrete ExtendTur of Extend = CatTur ** open ResTur, SuffixTur, Predef in { UttVPShort vp = {s = vp.s ! Perf ! VInf Pos} ; + UttAdV adv = {s = adv.s} ; + TPastSimple = {s = []} ** {t = Past} ; --# notpresent PositAdVAdj a = {s = a.s ! Sg ! Nom} ; diff --git a/src/ukrainian/ExtendUkr.gf b/src/ukrainian/ExtendUkr.gf index a29cac31..15627848 100644 --- a/src/ukrainian/ExtendUkr.gf +++ b/src/ukrainian/ExtendUkr.gf @@ -2,6 +2,8 @@ concrete ExtendUkr of Extend = CatUkr ** open ResUkr, ParadigmsUkr in { lin + UttAdV adv = {s = adv.s} ; + iFem_Pron = mkPron "я" "мене" "мені" "мене" "мені" "мною" Fem Sg P1 ; youFem_Pron = mkPron "ти" "тeбе" "тобі" "мене" "тобі" "тобою" Fem Sg P2 ; weFem_Pron = mkPron "ми" "нас" "нам" "нас" "наc" "нами" Fem Pl P1 ; @@ -12,4 +14,3 @@ lin youPolPlFem_Pron = mkPron "ви" "вас" "вам" "вас" "вас" "вами" Fem Pl P2 ; } - diff --git a/src/zulu/ExtendZul.gf b/src/zulu/ExtendZul.gf index 68919d0b..5977a6c4 100755 --- a/src/zulu/ExtendZul.gf +++ b/src/zulu/ExtendZul.gf @@ -38,6 +38,8 @@ concrete ExtendZul of Extend = proDrop = True } ; + UttAdV adv = {s = adv.s} ; + -- GenNP np = {s = \\_,_ => np.s ! npGen ; sp = \\_,_,_,_ => np.s ! npGen ; isDef = True} ; -- GenIP ip = {s = \\_ => ip.s ! NCase Gen} ;