From 88d0217d100818dfe9ebc96c2c8133323f440831 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 15 Sep 2021 14:53:11 +0800 Subject: [PATCH] (Fre) Fix bug in predicative adj + add unit test --- src/french/MorphoFre.gf | 3 ++- .../unittests/attributive-predicative.gftest | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/french/unittests/attributive-predicative.gftest diff --git a/src/french/MorphoFre.gf b/src/french/MorphoFre.gf index bac8693d..a7d41471 100644 --- a/src/french/MorphoFre.gf +++ b/src/french/MorphoFre.gf @@ -75,7 +75,8 @@ oper mkAdj' : (_,_,_,_,_ : Str) -> Adj ; mkAdj' vieux vieil vieille vieuxs vieillement = { s = table { - ASg Masc _ => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ; + ASg Masc AAttr => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ; + ASg Masc APred => vieux ; -- `ce vin est nouveau et bon', not *nouvel et bon ASg Fem _ => vieille ; APl g => genForms vieuxs (vieille + "s") ! g ; AA => vieillement diff --git a/src/french/unittests/attributive-predicative.gftest b/src/french/unittests/attributive-predicative.gftest new file mode 100644 index 00000000..254b268c --- /dev/null +++ b/src/french/unittests/attributive-predicative.gftest @@ -0,0 +1,24 @@ +-- Attributive forms: special form before vowel +Lang: UttNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA old_A) (UseN friend_N))) +LangFre: un vieil ami + +Lang: UttNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA new_A) (UseN friend_N))) +LangFre: un nouvel ami + +-- Regular form before consonant +Lang: UttNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA old_A) (UseN dog_N))) +LangFre: un vieux chien + +Lang: UttNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA new_A) (UseN wine_N))) +LangFre: un nouveau vin + +-- Predicative forms: always regular form +Lang: PredVP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN dog_N)) (UseComp (CompAP (PositA old_A))) +LangFre: mon chien est vieux + +Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant this_Quant NumSg) (UseN wine_N)) (UseComp (CompAP (PositA new_A))))) +LangFre: ce vin est nouveau + +-- Regular form even before a vowel: not *nouvel et bon +Lang: PredVP (DetCN (DetQuant this_Quant NumSg) (UseN wine_N)) (UseComp (CompAP (ConjAP and_Conj (BaseAP (PositA new_A) (PositA good_A))))) +LangFre: ce vin est nouveau et bon