From fecda3e64bb43546e00db80008ce3f3eeb6e1803 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 25 Aug 2014 19:02:01 +0000 Subject: [PATCH] implemented some_Quant in Dictionary for many languages where it was missing. Also added some_Det, which has a different meaning: compare "some man" (existential, Quant) to "some tea" (mass term similar to "a little tea", Det) --- lib/src/french/MakeStructuralFre.gf | 12 ++++++++++++ lib/src/translator/Dictionary.gf | 4 ++-- lib/src/translator/DictionaryBul.gf | 3 ++- lib/src/translator/DictionaryChi.gf | 4 +--- lib/src/translator/DictionaryDut.gf | 4 ++-- lib/src/translator/DictionaryEng.gf | 3 ++- lib/src/translator/DictionaryFin.gf | 6 ++---- lib/src/translator/DictionaryFre.gf | 5 +++-- lib/src/translator/DictionaryGer.gf | 7 ++++--- lib/src/translator/DictionaryIta.gf | 6 +++--- lib/src/translator/DictionarySpa.gf | 2 ++ 11 files changed, 35 insertions(+), 21 deletions(-) diff --git a/lib/src/french/MakeStructuralFre.gf b/lib/src/french/MakeStructuralFre.gf index 48cd1c1b2..d7d18a4f6 100644 --- a/lib/src/french/MakeStructuralFre.gf +++ b/lib/src/french/MakeStructuralFre.gf @@ -10,6 +10,18 @@ oper mkSubjSubj : Str -> Subj = \x -> {s = x ; m = Conjunct ; lock_Subj = <>} ; + mkQuant : (_,_,_,_ : Str) -> Quant = \sm,sf,pm,pf -> + let aucun : ParadigmsFre.Number => ParadigmsFre.Gender => Case => Str = table { + Sg => \\g,c => prepCase c ++ genForms sm sf ! g ; + Pl => \\g,c => prepCase c ++ genForms pm pf ! g + } + in lin Quant { + s = \\_ => aucun ; + sp = aucun ; + s2 = [] ; + isNeg = False + } ; + mkIQuant : Str -> IQuant = \s -> {s = \\_,_,c => prepCase c ++ s ; lock_IQuant = <>} ; diff --git a/lib/src/translator/Dictionary.gf b/lib/src/translator/Dictionary.gf index 9b830119d..fbd074039 100644 --- a/lib/src/translator/Dictionary.gf +++ b/lib/src/translator/Dictionary.gf @@ -53994,8 +53994,8 @@ fun somber_A : A ; fun sombre_A : A ; fun sombreness_N : N ; fun sombrero_N : N ; -fun some_A : A ; -fun some_Quant : Quant ; +fun some_Det : Det ; -- mass: have some tea +fun some_Quant : Quant ; -- existential fun somebody_NP : NP ; fun someday_Adv : Adv ; fun somehow_AdV : AdV ; diff --git a/lib/src/translator/DictionaryBul.gf b/lib/src/translator/DictionaryBul.gf index 4902c27b8..375f19c65 100644 --- a/lib/src/translator/DictionaryBul.gf +++ b/lib/src/translator/DictionaryBul.gf @@ -51052,7 +51052,8 @@ lin somber_A = variants {}; lin sombre_A = variants {mkA079 "мрачен"; mkA079 "тъмен"}; ---- lin sombreness_N = mkN049 "мрачност"; ---- lin sombrero_N = mkN054 "сомбреро"; -lin some_A = mkA079 "известен"; ---- +--lin some_A = mkA079 "известен"; ---- +--lin some_Det = mkQuant "някой" "някоя" "някое" "някои"; ---- lin some_Quant = mkQuant "някой" "някоя" "някое" "някои"; lin somebody_NP = mkNP "някой" (GSg Masc) P3 Pos; lin someday_Adv = mkAdv "някой ден"; diff --git a/lib/src/translator/DictionaryChi.gf b/lib/src/translator/DictionaryChi.gf index 47bd90d99..14cfe486c 100644 --- a/lib/src/translator/DictionaryChi.gf +++ b/lib/src/translator/DictionaryChi.gf @@ -14575,9 +14575,7 @@ lin solvent_A = mkA "溶剂" ; lin solvent_N = mkN "溶剂" ; lin som_N = mkN "索姆""" ; lin somali_A = mkA "索马里" ; -lin somePl_Det = S.somePl_Det ; -lin someSg_Det = S.someSg_Det ; -lin some_A = mkA "一些" ; +lin some_Det = mkpDet "一些" ; ---- lin some_Quant = mkQuant "一些" ; lin somebody_NP = S.somebody_NP ; lin someday_Adv = mkAdv "日后" ; diff --git a/lib/src/translator/DictionaryDut.gf b/lib/src/translator/DictionaryDut.gf index f34c75183..1955006db 100644 --- a/lib/src/translator/DictionaryDut.gf +++ b/lib/src/translator/DictionaryDut.gf @@ -15352,8 +15352,8 @@ lin solution_N = mkN "oplossing" feminine ; lin solve_V2 = mkV2 (mkV "oplossen") ; -- status=guess, src=wikt lin solvent_N = mkN "oplosmiddel" ; -- status=guess lin somber_A = mkA "somber" ; -- status=guess -lin somePl_Det = S.somePl_Det ; -lin someSg_Det = S.someSg_Det ; +lin some_Det = mkDet "een weinig" ; ---- +lin some_Quant = R.mkQuant "sommige" "sommige" ; lin somebody_NP = S.somebody_NP ; lin somehow_Adv = mkAdv "op een of andere manier" | mkAdv "eenderhoe" ; -- status=guess status=guess lin someone_NP = S.mkNP (mkN "iemand") ; diff --git a/lib/src/translator/DictionaryEng.gf b/lib/src/translator/DictionaryEng.gf index c869e9c84..9928f7de8 100644 --- a/lib/src/translator/DictionaryEng.gf +++ b/lib/src/translator/DictionaryEng.gf @@ -53976,7 +53976,8 @@ lin somber_A = mkA "somber" ; lin sombre_A = compoundA (mkA "sombre"); lin sombreness_N = mkN "sombreness" ; lin sombrero_N = mkN "sombrero" "sombreros"; -lin some_A = mkA "some" ; +--lin some_A = mkA "some" ; +lin some_Det = mkDeterminer singular "some" | mkDeterminer singular "a little" ; lin some_Quant = mkQuant "some" "some"; lin somebody_NP = mkNP "somebody" "somebody" "somebody's" Sg P3 human; lin someday_Adv = mkAdv "someday"; diff --git a/lib/src/translator/DictionaryFin.gf b/lib/src/translator/DictionaryFin.gf index 85b00a7cd..cf074a12b 100644 --- a/lib/src/translator/DictionaryFin.gf +++ b/lib/src/translator/DictionaryFin.gf @@ -46931,10 +46931,8 @@ lin somber_A = mkWA (k10 "vakava") ; --UNCHK lin sombre_A = mkWA (k10 "vakava") ; --UNCHK lin sombreness_N = mkWN (k40 "synkkyys") ; --UNCHK lin sombrero_N = mkWN (k1 "sombrero") ; --UNCHK -lin somePl_Det = S.somePl_Det ; -lin someSg_Det = S.someSg_Det ; -lin some_A = mkWA (k101 "joku") ; --UNCHK -lin some_Quant = heavyQuant {s1 = S.jokinPron ; s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False} ; +lin some_Det = mkDet False Sg (exceptNomN (mkN "vähä") "vähän") partitive | mkDet False Sg (exceptNomN (mkN "hiukka") "hiukan") partitive ; +lin some_Quant = heavyQuant {s1 = S.jokinPron ; s2 = \\_ => [] ; isNum,isPoss,isNeg,isDef = False} ; ---- vähän, hiukan lin somebody_NP = S.somebody_NP ; lin someday_Adv = mkWAdv (k99 "joskus") ; lin somehow_AdV = mkAdV "jotenkin" ; diff --git a/lib/src/translator/DictionaryFre.gf b/lib/src/translator/DictionaryFre.gf index 26869e16d..0f6e82fb3 100644 --- a/lib/src/translator/DictionaryFre.gf +++ b/lib/src/translator/DictionaryFre.gf @@ -9,6 +9,7 @@ concrete DictionaryFre of Dictionary = CatFre ** open (E = ExtraFre), (E = ExtraFre), (Ph = PhonoFre), + (R = ResFre), (M = MakeStructuralFre), MorphoFre, Prelude in { @@ -18420,8 +18421,8 @@ lin solvent_A = mkA "solvable" ; -- tocheck lin solvent_N = mkN "solvant" masculine ; -- tocheck lin somber_A = mkA "sombre" ; -- tocheck lin sombrero_N = mkN "sombréro" masculine ; -- tocheck -lin somePl_Det = S.somePl_Det ; -lin someSg_Det = S.someSg_Det ; +lin some_Det = {s,sp = \\g,c => R.prepCase c ++ "un peu" ++ Ph.elisDe ; n = plural ; s2 = [] ; isNeg = False} ; +lin some_Quant = M.mkQuant "quelque" "quelque" "quelques" "quelques" ; lin somebody_NP = S.somebody_NP ; lin somehow_Adv = variants{} ; -- lin someone_NP = S.somebody_NP ; diff --git a/lib/src/translator/DictionaryGer.gf b/lib/src/translator/DictionaryGer.gf index 87e11b42b..6c93484b3 100644 --- a/lib/src/translator/DictionaryGer.gf +++ b/lib/src/translator/DictionaryGer.gf @@ -4,7 +4,7 @@ concrete DictionaryGer of Dictionary = CatGer ** open ParadigmsGer, (S = SyntaxGer), (L = LexiconGer), - (R = ResGer), (M = MorphoGer), (MS = MakeStructuralGer), (I = IrregGer), Prelude in { + (R = ResGer), (M = MorphoGer), (MS = MakeStructuralGer), (I = IrregGer), (N = NounGer), Prelude in { flags coding=utf8 ; @@ -53730,8 +53730,9 @@ lin somber_A = mk3A "finster" "finsterer" "finsterste" | mk3A "dunkel" "dunkler" lin sombre_A = variants {}; lin sombreness_N = variants {}; lin sombrero_N = mkN "Sombrero" ; -- status=guess -lin some_A = variants {}; -lin some_Quant = variants {}; +--lin some_A = variants {}; +lin some_Det = {s,sp = \\_,_ => "ein wenig" ; c = R.noCase ; a = R.Strong ; isDef = False ; n = R.Sg} ; +lin some_Quant = N.IndefArt ** {s = N.IndefArt.sp} ; lin somebody_NP = S.somebody_NP ; lin someday_Adv = mkAdv "eines Tages" | mkAdv "irgendwann" ; -- status=guess status=guess lin somehow_AdV = variants {}; diff --git a/lib/src/translator/DictionaryIta.gf b/lib/src/translator/DictionaryIta.gf index 644c12f26..aa4e4984d 100644 --- a/lib/src/translator/DictionaryIta.gf +++ b/lib/src/translator/DictionaryIta.gf @@ -1,6 +1,6 @@ concrete DictionaryIta of Dictionary = CatIta ** open ParadigmsIta, (P = ParadigmsIta), - IrregIta, (I=IrregIta), MorphoIta, (L=LexiconIta), (S=StructuralIta), (E=ExtraIta),Prelude in { + IrregIta, (I=IrregIta), MorphoIta, (L=LexiconIta), (S=StructuralIta), (E=ExtraIta), (R = ResIta), Prelude in { oper mkInterj : Str -> Interj = \s -> lin Interj (ss s) ; @@ -15789,8 +15789,8 @@ lin solvent_A = mkA "solvibile" ; -- status=guess lin solvent_N = mkN "solvente" masculine ; -- status=guess lin soma_N = mkN "soma" masculine ; -- status=guess lin somatic_A = mkA "somatico" ; -- status=guess -lin somePl_Det = S.somePl_Det ; -- comment=CHECKED -lin someSg_Det = S.someSg_Det ; -- comment=CHECKED +lin some_Det = mkDet "un poco di" | mkDet "un pò di" ; +lin some_Quant = {s = \\_,_,_,c => R.prepCase c ++ "qualche" ; sp = \\_,_,c => R.prepCase c ++ "qualche" ; s2 = [] ; isNeg = False} ; ---- alcuni lin somebody_NP = S.somebody_NP ; lin somehow_Adv = variants{} ; -- lin someone_NP = variants{} ; -- diff --git a/lib/src/translator/DictionarySpa.gf b/lib/src/translator/DictionarySpa.gf index 720bb5716..68faa3afc 100644 --- a/lib/src/translator/DictionarySpa.gf +++ b/lib/src/translator/DictionarySpa.gf @@ -18783,6 +18783,8 @@ lin somatic_A = mkA "somático" ; -- status=guess lin sombrero_N = mkN "sombrero mexicano" | mkN " sombrero de charro" ; -- status=guess status=guess lin somePl_Det = S.somePl_Det ; lin someSg_Det = S.someSg_Det ; +lin some_Det = mkDet "un poco de" ; +lin some_Quant = mkQuantifier "algún" "alguna" "algunos" "algunas" ; lin somebody_NP = S.somebody_NP ; lin someday_Adv = mkAdv "algún día" ; -- status=guess lin somehow_Adv = mkAdv "de algún modo" | mkAdv "de alguna manera" ; -- status=guess