mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-27 11:56:29 -06:00
(Romance) Attributive and predicative adjective forms (#93)
* (Fre,Por) accomodate changes to Romance adjectives - to support Spanish buen/bueno, gran/grande and catalan bo/bon * (Cat) Update paradigms to allow predicative and attributive forms of adj * (Spa) fix argument order in Spanish adjective paradigms * (Eng) fix missing paradigm invarA * (Spa) Flip order of args in mkAdj constructor
This commit is contained in:
@@ -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 ! (AF Masc Sg)) ++ td (adj.s ! Posit ! (AF Masc Pl))) ++
|
||||
tr (th (heading feminine_Parameter) ++ td (adj.s ! Posit ! (AF Fem Sg)) ++ td (adj.s ! Posit ! (AF Fem Pl)))
|
||||
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)))
|
||||
)
|
||||
} ;
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ concrete ExtendPor of Extend =
|
||||
} ;
|
||||
|
||||
ICompAP ap = {
|
||||
s =\\a => "o quão" ++ ap.s ! AF a.g a.n ;
|
||||
s =\\a => "o quão" ++ ap.s ! (genNum2Aform a.g a.n) ;
|
||||
cop = serCopula
|
||||
} ;
|
||||
|
||||
@@ -165,12 +165,12 @@ concrete ExtendPor of Extend =
|
||||
ComplBareVS = ComplVS ;
|
||||
|
||||
AdjAsCN ap = {
|
||||
s =\\n => ap.s ! AF Masc n ;
|
||||
s =\\n => ap.s ! (genNum2Aform Masc n) ;
|
||||
g = Masc
|
||||
} ;
|
||||
|
||||
AdjAsNP ap = heavyNP {
|
||||
s = \\_c => ap.s ! AF Masc Sg ;
|
||||
s = \\_c => ap.s ! ASg Masc APred ;
|
||||
a = Ag Masc Sg P3
|
||||
} ;
|
||||
|
||||
@@ -200,10 +200,8 @@ concrete ExtendPor of Extend =
|
||||
} ;
|
||||
|
||||
CompoundAP noun adj = {
|
||||
s = \\af => case af of {
|
||||
AF g n => adj.s ! Posit ! AF noun.g n ++ "de" ++ noun.s ! n ;
|
||||
-- do I need do(s)/da(s)?
|
||||
_ => adj.s ! Posit ! AF noun.g Sg ++ "de" ++ noun.s ! Sg
|
||||
s = \\af => case (aform2aagr af) of {
|
||||
{n = n} => adj.s ! Posit ! (genNum2Aform noun.g n) ++ "de" ++ noun.s ! n
|
||||
} ;
|
||||
isPre = adj.isPre
|
||||
} ;
|
||||
|
||||
@@ -118,9 +118,9 @@ oper
|
||||
mkAdj : (_,_,_,_,_ : Str) -> Adj =
|
||||
\burro,burra,burros,burras,burramente ->
|
||||
{s = table {
|
||||
AF Masc n => numForms burro burros ! n ;
|
||||
AF Fem n => numForms burra burras ! n ;
|
||||
AA => burramente
|
||||
ASg g _ => genForms burro burra ! g ;
|
||||
APl g => genForms burros burras ! g ;
|
||||
AA => burramente
|
||||
}
|
||||
} ;
|
||||
|
||||
@@ -129,7 +129,8 @@ oper
|
||||
adj = mkAdjReg aj
|
||||
in {
|
||||
s = table {
|
||||
AF g n => adj.s ! AF g n ;
|
||||
ASg g _ => adj.s ! ASg g APred ;
|
||||
APl g => adj.s ! APl g ;
|
||||
AA => av
|
||||
}
|
||||
} ;
|
||||
@@ -245,11 +246,11 @@ oper
|
||||
-- inflected in gender and number, like adjectives.
|
||||
|
||||
pronForms : Adj -> Gender -> Number -> Str =
|
||||
\tale,g,n -> tale.s ! AF g n ;
|
||||
\tale,g,n -> tale.s ! (genNum2Aform g n) ;
|
||||
|
||||
mkOrdinal : A -> Ord = \adj ->
|
||||
lin Ord {
|
||||
s = \\ag => adj.s ! Posit ! AF ag.g ag.n ;
|
||||
s = \\ag => adj.s ! Posit ! (genNum2Aform ag.g ag.n) ;
|
||||
} ;
|
||||
|
||||
mkQuantifier : (esse,essa,esses,essas : Str) -> Quant = \esse,essa,esses,essas->
|
||||
|
||||
@@ -366,7 +366,7 @@ oper
|
||||
-- deviant past participle, e.g. abrir - aberto
|
||||
special_ppV ve pa = {
|
||||
s = table {
|
||||
VPart g n => (adjPreto pa).s ! AF g n ;
|
||||
VPart g n => (adjPreto pa).s ! (genNum2Aform g n) ;
|
||||
p => ve.s ! p
|
||||
} ;
|
||||
lock_V = <> ;
|
||||
|
||||
Reference in New Issue
Block a user