From b696b9e9322cdc2a0d5b3ea92625c3ed66052d68 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 14 Sep 2021 17:36:52 +0800 Subject: [PATCH] (Romance) different ComparAgr for French --- src/romance/AdjectiveRomance.gf | 4 ++-- src/romance/CatRomance.gf | 4 ++-- src/romance/DiffRomance.gf | 6 ++++++ src/romance/NounRomance.gf | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/romance/AdjectiveRomance.gf b/src/romance/AdjectiveRomance.gf index f5caab654..aa4147cac 100644 --- a/src/romance/AdjectiveRomance.gf +++ b/src/romance/AdjectiveRomance.gf @@ -7,7 +7,7 @@ incomplete concrete AdjectiveRomance of Adjective = ComparA a np = a ** { s = \\af => let compar : Str = case a.isDeg of { - True => a.compar ! af2num af ; -- bueno, mejor + True => a.compar ! af2compar af ; -- bueno, mejor False => piuComp ++ a.s ! af } ; -- cher, plus cher in compar ++ conjThan ++ (np.s ! Nom).ton ; isPre = False ; @@ -18,7 +18,7 @@ incomplete concrete AdjectiveRomance of Adjective = } ; UseComparA a = a ** { s = \\af => case a.isDeg of { - True => a.compar ! af2num af ; + True => a.compar ! af2compar af ; False => piuComp ++ a.s ! af } } ; AdjOrd ord = { diff --git a/src/romance/CatRomance.gf b/src/romance/CatRomance.gf index 4f708cc7d..fdd61e88d 100644 --- a/src/romance/CatRomance.gf +++ b/src/romance/CatRomance.gf @@ -104,8 +104,8 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol] V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; VS = Verb ** {m : RPolarity => Mood} ; - A = {s : AForm => Str ; compar : Number => Str ; isPre : Bool ; copTyp : CopulaType ; isDeg : Bool} ; - A2 = {s : AForm => Str ; compar : Number => Str ; c2 : Compl ; copTyp : CopulaType ; isDeg : Bool} ; + A = {s : AForm => Str ; compar : ComparAgr => Str ; isPre : Bool ; copTyp : CopulaType ; isDeg : Bool} ; + A2 = {s : AForm => Str ; compar : ComparAgr => Str ; c2 : Compl ; copTyp : CopulaType ; isDeg : Bool} ; N = Noun ; N2 = Noun ** {c2 : Compl} ; diff --git a/src/romance/DiffRomance.gf b/src/romance/DiffRomance.gf index 25e683034..214030dba 100644 --- a/src/romance/DiffRomance.gf +++ b/src/romance/DiffRomance.gf @@ -59,6 +59,12 @@ interface DiffRomance = open CommonRomance, Prelude in { oper serCopula : CopulaType ; oper estarCopula : CopulaType ; +-- Whether comparatives and superlatives inflect in only number, or also in gender: el/la mejor, but le meilleur, la meilleure + oper ComparAgr : PType = Number ; -- except Fre, where it's Number and Gender + + oper af2compar : AForm -> ComparAgr = af2num ; -- except Fre + oper aagr2compar : AAgr -> ComparAgr = \a -> a.n ; -- except Fre + -- To decide if adverbial questions are inverted oper iAdvQuestionInv : Direct = DInv ; -- except Fre diff --git a/src/romance/NounRomance.gf b/src/romance/NounRomance.gf index d7ed7e385..5b2c3cc11 100644 --- a/src/romance/NounRomance.gf +++ b/src/romance/NounRomance.gf @@ -103,7 +103,7 @@ incomplete concrete NounRomance of Noun = OrdSuperl adj = { s = \\a => case adj.isDeg of { - True => adj.compar ! a.n ; + True => adj.compar ! aagr2compar a ; False => piuComp ++ adj.s ! genNum2Aform a.g a.n } } ;