From b8acdddabd355c4e0c7e381f9621363a913dcd3b Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 17 Sep 2021 11:32:18 +0800 Subject: [PATCH] (Fre) Implement AForm+related opers in DiffFre --- src/french/DiffFre.gf | 21 ++++++++++++++++++++- src/french/MorphoFre.gf | 11 ++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/french/DiffFre.gf b/src/french/DiffFre.gf index 3294224c4..bafd709fb 100644 --- a/src/french/DiffFre.gf +++ b/src/french/DiffFre.gf @@ -159,10 +159,29 @@ instance DiffFre of DiffRomance - [ bindHyphen : Str = BIND ++ "-" ++ BIND ; - piuComp = "plus" ; +-- AForm + param + AFormComplex = AF Gender Number | AAttrMasc | AA ; + oper + AForm = AFormComplex ; + aform2aagr : AForm -> AAgr = \a -> case a of { + DiffFre.AF g n => aagr g n ; + _ => aagr Masc Sg -- "le plus lentement" + } ; + genNum2Aform : Gender -> Number -> AForm = DiffFre.AF ; + genNumPos2Aform : Gender -> Number -> Bool -> AForm = \g,n,isPre -> + case of { + => AAttrMasc ; + _ => genNum2Aform g n + } ; + +-- Comparatives ComparAgr = AAgr ; af2compar = aform2aagr ; aagr2compar = id AAgr ; + piuComp = "plus" ; + + CopulaType = {} ; selectCopula = \isEstar -> copula ; diff --git a/src/french/MorphoFre.gf b/src/french/MorphoFre.gf index a7d414713..d196a3bdf 100644 --- a/src/french/MorphoFre.gf +++ b/src/french/MorphoFre.gf @@ -75,11 +75,12 @@ oper mkAdj' : (_,_,_,_,_ : Str) -> Adj ; mkAdj' vieux vieil vieille vieuxs vieillement = { s = table { - 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 + -- vieil, nouvel only comes as attributive, not predicative: + -- 'un vieil ami', but 'ce vin est nouveau et bon', not *nouvel et bon. + AAttrMasc => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ; + AF g Sg => genForms vieux vieille ! g ; + AF g Pl => genForms vieuxs (vieille + "s") ! g ; + AA => vieillement } } ;