From e421518a36b2ed8599876be1dab6637e6bd87b74 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 13 Sep 2021 20:51:35 +0800 Subject: [PATCH] (Por) Update A,A2 to not have Degree --- src/portuguese/DiffPor.gf | 2 + src/portuguese/DocumentationPorFunctor.gf | 4 +- src/portuguese/LexiconPor.gf | 2 +- src/portuguese/MorphoPor.gf | 2 +- src/portuguese/ParadigmsPor.gf | 48 ++++++++++++----------- src/portuguese/TerminologyPor.gf | 2 +- 6 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/portuguese/DiffPor.gf b/src/portuguese/DiffPor.gf index 096dd78a..ea7eb3a2 100644 --- a/src/portuguese/DiffPor.gf +++ b/src/portuguese/DiffPor.gf @@ -20,6 +20,8 @@ instance DiffPor of DiffRomance - [iAdvQuestionInv,chooseTA,otherInv,partAgr,sta vpAgrSubj v = ; oper + piuComp = "mais" ; + conjunctCase : Case -> Case = \c -> case c of { Nom => Nom ; _ => Acc diff --git a/src/portuguese/DocumentationPorFunctor.gf b/src/portuguese/DocumentationPorFunctor.gf index df6491e5..d4912ef5 100644 --- a/src/portuguese/DocumentationPorFunctor.gf +++ b/src/portuguese/DocumentationPorFunctor.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/portuguese/LexiconPor.gf b/src/portuguese/LexiconPor.gf index 591a4e37..51d8d7a1 100644 --- a/src/portuguese/LexiconPor.gf +++ b/src/portuguese/LexiconPor.gf @@ -55,7 +55,7 @@ lin uncertain_A = mkA (mkA "incerto") D.estarCopula ; warm_A = mkA "quente" ; wet_A = mkA "molhado" ; - white_A = compADeg (mkA "branco") ; + white_A = mkA "branco" ; wide_A = mkA "largo" ; -- extenso yellow_A = mkA "amarelo" ; young_A = prefixA (mkA "jovem") ; diff --git a/src/portuguese/MorphoPor.gf b/src/portuguese/MorphoPor.gf index 8b7282d7..9073d445 100644 --- a/src/portuguese/MorphoPor.gf +++ b/src/portuguese/MorphoPor.gf @@ -251,7 +251,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 : (esse,essa,esses,essas : Str) -> Quant = \esse,essa,esses,essas-> diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index fe3ab994..a3472920 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -207,48 +207,52 @@ oper } ; --2 Adjectives - compADeg : A -> A ; --% - compADeg a = a ** { - s = table { - Posit => a.s ! Posit ; - _ => \\f => "mais" ++ a.s ! Posit ! f - } ; - } ; + compADeg : Adj -> A ; --% + compADeg a = lin A + {s = a.s ; + compar = \\_ => nonExist ; -- + isPre = False ; -- default values + copTyp = serCopula ; + isDeg = False + } ; - liftAdj : Adj -> A ; --% - liftAdj adj = compADeg (lin A {s = \\_ => adj.s ; isPre = False ; copTyp = serCopula}) ; + -- liftAdj : Adj -> A ; --% + -- liftAdj adj = compADeg (lin A {s = \\_ => adj.s ; isPre = False ; copTyp = serCopula}) ; regA : Str -> A ; --% - regA a = liftAdj (mkAdjReg a) ; + regA a = compADeg (mkAdjReg a) ; mk2A : (patrão,patroa : Str) -> A ; --% - mk2A ms fs = liftAdj (mkAdjReg2 ms fs) ; + mk2A ms fs = compADeg (mkAdjReg2 ms fs) ; mk4A : (bobão,bobona,bobões,bobonas : Str) -> A ; --% - mk4A a b c d = liftAdj (mkAdj4 a b c d) ; + mk4A a b c d = compADeg (mkAdj4 a b c d) ; mk5A : (preto,preta,pretos,pretas,pretamente : Str) -> A ; --% - mk5A a b c d e = liftAdj (mkAdj a b c d e) ; + mk5A a b c d e = compADeg (mkAdj a b c d e) ; adjCopula : A -> CopulaType -> A ; --% adjCopula a cop = a ** {copTyp = cop} ; + -- mkADeg a b = a ** { + -- s = table { + -- Posit => a.s ! Posit ; + -- _ => b.s ! Posit + -- -- Compar => b.s ! Posit ; + -- -- Superl => "o" ++ b.s ! Posit ; + -- } + -- } ; mkADeg : A -> A -> A ; --% mkADeg a b = a ** { - s = table { - Posit => a.s ! Posit ; - _ => b.s ! Posit - -- Compar => b.s ! Posit ; - -- Superl => "o" ++ b.s ! Posit ; - } - } ; + compar = \\num => b.s ! AF Masc num ; -- melhor, melhores + isDeg = True } ; invarA : Str -> A ; -- invariable adjective, e.g. "simples" - invarA a = liftAdj (mkAdj4 a a a a) ; + invarA a = compADeg (mkAdj4 a a a a) ; mkNonInflectA : A -> Str -> A ; mkNonInflectA blanco hueso = blanco ** { - s = \\x,y => blanco.s ! x ! y ++ hueso + s = \\x => blanco.s ! x ++ hueso } ; mkA = overload { diff --git a/src/portuguese/TerminologyPor.gf b/src/portuguese/TerminologyPor.gf index 6eca759b..80d507f2 100644 --- a/src/portuguese/TerminologyPor.gf +++ b/src/portuguese/TerminologyPor.gf @@ -116,7 +116,7 @@ lin nounHeading n = ss (n.s ! Sg) ; nounPluralHeading n = ss (n.s ! Pl) ; - modNounHeading a n = ss (n.s ! Sg ++ a.s ! Posit ! genNumPos2Aform n.g Sg False) ; + modNounHeading a n = ss (n.s ! Sg ++ a.s ! genNumPos2Aform n.g Sg False) ; exampleGr_N = mkN "exemplo" ; formGr_N = mkN "forma" ;