From 57390d366c3ab44cccb5d741527572e994eed327 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 13 Sep 2021 15:15:47 +0800 Subject: [PATCH] (Spa) Update A,A2 to not have Degree --- src/spanish/DiffSpa.gf | 1 + src/spanish/DocumentationSpaFunctor.gf | 4 ++-- src/spanish/MorphoSpa.gf | 2 +- src/spanish/ParadigmsSpa.gf | 33 +++++++++++++------------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/spanish/DiffSpa.gf b/src/spanish/DiffSpa.gf index 655716a4..288adfa6 100644 --- a/src/spanish/DiffSpa.gf +++ b/src/spanish/DiffSpa.gf @@ -70,6 +70,7 @@ instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,stare_V,vpAg _ => prepCase c ++ artDef g Sg (CPrep P_de) } ; -} + piuComp = "más" ; conjunctCase : Case -> Case = \c -> case c of { Nom => Nom ; diff --git a/src/spanish/DocumentationSpaFunctor.gf b/src/spanish/DocumentationSpaFunctor.gf index 866b6c3b..fa09cdca 100644 --- a/src/spanish/DocumentationSpaFunctor.gf +++ b/src/spanish/DocumentationSpaFunctor.gf @@ -45,8 +45,8 @@ lin s1 = heading1 (nounHeading adjective_Category).s ; s2 = frameTable ( tr (th "" ++ th (heading singular_Parameter) ++ th (heading plural_Parameter)) ++ - tr (th (heading masculine_Parameter) ++ td (adj.s ! Posit ! genNum2Aform Masc Sg) ++ td (adj.s ! Posit ! (genNum2Aform Masc Pl))) ++ - tr (th (heading feminine_Parameter) ++ td (adj.s ! Posit ! genNum2Aform Fem Sg) ++ td (adj.s ! Posit ! (genNum2Aform Fem Pl))) + tr (th (heading masculine_Parameter) ++ td (adj.s ! genNum2Aform Masc Sg) ++ td (adj.s ! genNum2Aform Masc Pl)) ++ + tr (th (heading feminine_Parameter) ++ td (adj.s ! genNum2Aform Fem Sg) ++ td (adj.s ! genNum2Aform Fem Pl)) ) } ; diff --git a/src/spanish/MorphoSpa.gf b/src/spanish/MorphoSpa.gf index fbf8fb7d..2cef1e76 100644 --- a/src/spanish/MorphoSpa.gf +++ b/src/spanish/MorphoSpa.gf @@ -239,7 +239,7 @@ oper mkOrdinal : A -> Ord = \adj-> lin Ord { - s = \\ag => adj.s ! Posit ! genNum2Aform ag.g ag.n ; + s = \\ag => adj.s ! genNum2Aform ag.g ag.n ; } ; mkQuantifier : (ese,esa,esos,esas : Str) -> Quant = \ese,esa,esos,esas-> diff --git a/src/spanish/ParadigmsSpa.gf b/src/spanish/ParadigmsSpa.gf index a276334d..56ead98f 100644 --- a/src/spanish/ParadigmsSpa.gf +++ b/src/spanish/ParadigmsSpa.gf @@ -369,25 +369,28 @@ oper makeNP x g n = {s = (pn2np (mk2PN x g)).s; a = agrP3 g n ; hasClit = False ; isPol = False ; isNeg = False} ** {lock_NP = <>} ; mk7A a b c d e f g = - compADeg {s = \\_ => (mkAdj a b c d e f g).s ; isPre = False ; copTyp = serCopula ; lock_A = <>} ; + compADeg (mkAdj a b c d e f g) ; mk5A a b c d e = mk7A a a b b c d e ; - mk2A a b = compADeg {s = \\_ => (adjEspanol a b).s ; isPre = False ; copTyp = serCopula ; lock_A = <>} ; + mk2A a b = compADeg (adjEspanol a b) ; - regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; copTyp = serCopula ; lock_A = <>} ; + regA a = compADeg (mkAdjReg a) ; adjCopula a cop = a ** {copTyp = cop} ; - prefA a = {s = a.s ; isPre = True ; copTyp = a.copTyp ; lock_A = <>} ; + prefA a = a ** {isPre = True} ; - mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ; + mkA2 a p = lin A2 (a ** {c2 = p}) ; - mkADeg a b = - {s = table {Posit => a.s ! Posit ; _ => b.s ! Posit} ; - isPre = a.isPre ; copTyp = a.copTyp ; lock_A = <>} ; - compADeg a = - {s = table {Posit => a.s ! Posit ; _ => \\f => "más" ++ a.s ! Posit ! f} ; - isPre = a.isPre ; copTyp = a.copTyp ; - lock_A = <>} ; + mkADeg a b = a ** { + compar = \\num => b.s ! AF Masc num ; -- mejor, mejores + isDeg = True } ; + compADeg a = lin A + {s = a.s ; + compar = \\_ => nonExist ; -- + isPre = False ; -- default values + copTyp = serCopula ; + isDeg = False + } ; regADeg a = compADeg (regA a) ; mkAdv x = ss x ** {lock_Adv = <>} ; @@ -544,7 +547,7 @@ oper mkA : (_,_,_,_,_,_,_ : Str) -> A = mk7A ; mkA : (bueno : A) -> (mejor : A) -> A = mkADeg ; mkA : (blanco : A) -> (hueso : Str) -> A = \blanco,hueso -> blanco ** - { s = \\x,y => blanco.s ! x ! y ++ hueso } ; + { s = \\x => blanco.s ! x ++ hueso } ; mkA : A -> CopulaType -> A = adjCopula ; } ; @@ -555,7 +558,7 @@ oper regA : Str -> A ; adjCopula : A -> CopulaType -> A ; mkADeg : A -> A -> A ; - compADeg : A -> A ; + compADeg : Adj -> A ; regADeg : Str -> A ; prefA : A -> A ; prefixA = prefA ; @@ -582,6 +585,4 @@ oper mk2V2 : V -> Prep -> V2 ; dirV2 : V -> V2 ; - - } ;