forked from GitHub/gf-rgl
(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)))
|
||||
)
|
||||
} ;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ lin
|
||||
bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ;
|
||||
bank_N = regGenN "banque" feminine ;
|
||||
beautiful_A =
|
||||
prefA (compADeg (mkA (pre {voyelle => "bel" ; _ => "beau" }) "belle" "beaux" "bellement")) ;
|
||||
prefA (compADeg (mkA "beau" "bel" "beaux" "belle" "bellement")) ;
|
||||
become_VA = mkVA devenir_V ;
|
||||
beer_N = regGenN "bière" feminine ;
|
||||
beg_V2V = mkV2V (regV "demander") accusative dative ;
|
||||
@@ -129,11 +129,11 @@ lin
|
||||
music_N = regGenN "musique" feminine ;
|
||||
narrow_A = regA "étroit" ;
|
||||
new_A =
|
||||
prefA (compADeg (mkA (pre {voyelle => "nouvel" ; _ => "nouveau" }) "nouvelle" "nouveaux" "nouvellement")) ;
|
||||
prefA (compADeg (mkA "nouveau" "nouvel" "nouveaux" "nouvelle" "nouvellement")) ;
|
||||
newspaper_N = regGenN "journal" masculine ;
|
||||
oil_N = regGenN "huile" feminine ;
|
||||
old_A =
|
||||
prefA (compADeg (mkA (pre {voyelle => "vieil" ; _ => "vieux" }) "vieille" "vieux" "vieillement")) ;
|
||||
prefA (compADeg (mkA "vieux" "vieil" "vieux" "vieille" "vieillement")) ;
|
||||
open_V2 = ouvrir_V2 ;
|
||||
paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPrep "en") ;
|
||||
paper_N = regGenN "papier" masculine ;
|
||||
|
||||
@@ -72,14 +72,19 @@ oper
|
||||
-- Adjectives are conveniently seen as gender-dependent nouns.
|
||||
-- Here are some patterns. First one that describes the worst case.
|
||||
|
||||
mkAdj : (_,_,_,_ : Str) -> Adj = \vieux,vieuxs,vieille,vieillement ->
|
||||
{s = table {
|
||||
AF Masc n => numForms vieux vieuxs ! n ;
|
||||
AF Fem n => nomReg vieille ! n ;
|
||||
AA => vieillement
|
||||
}
|
||||
mkAdj' : (_,_,_,_,_ : Str) -> Adj ;
|
||||
mkAdj' vieux vieil vieuxs vieille vieillement = {
|
||||
s = table {
|
||||
ASg Masc _ => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ;
|
||||
ASg Fem _ => vieille ;
|
||||
APl g => genForms vieuxs (vieille + "s") ! g ;
|
||||
AA => vieillement
|
||||
}
|
||||
} ;
|
||||
|
||||
mkAdj : (_,_,_,_ : Str) -> Adj ;
|
||||
mkAdj bleu bleus bleue bleuement = mkAdj' bleu bleu bleus bleue bleuement ;
|
||||
|
||||
-- Then the regular and invariant patterns.
|
||||
|
||||
adjReg : Str -> Gender => Number => Str = \bu -> table {
|
||||
|
||||
@@ -160,9 +160,12 @@ oper
|
||||
|
||||
mkA : (banal,banale,banaux : Str) -> A ;
|
||||
|
||||
-- This is the worst-case paradigm for the positive forms.
|
||||
-- This is the worst-case paradigm for the positive forms, except for "vieux/vieil".
|
||||
|
||||
mkA : (banal,banale,banaux,banalement : Str) -> A ; -- worst-case adjective
|
||||
mkA : (banal,banale,banaux,banalement : Str) -> A ; -- almost worst-case adjective
|
||||
|
||||
-- This is the worst-case paradigm for the positive forms, used for "vieux/vieil".
|
||||
mkA : (vieux,vieil,vieille,vieuxs,vieuxment : Str) -> A ; -- worst-case adjetive
|
||||
|
||||
-- If comparison forms are irregular (i.e. not formed by "plus", e.g.
|
||||
-- "bon-meilleur"), the positive and comparative can be given as separate
|
||||
@@ -387,7 +390,8 @@ oper
|
||||
mkPN : N -> PN = \x -> lin PN {s = x.s ! Sg ; g = x.g} ;
|
||||
} ;
|
||||
|
||||
mk4A a b c d = compADeg {s = \\_ => (mkAdj a c b d).s ; isPre = False ; lock_A = <>} ;
|
||||
mk4A a b c d = mk5A a a b c d ;
|
||||
mk5A a b c d e = compADeg {s = \\_ => (mkAdj' a b c d e).s ; isPre = False ; lock_A = <>} ;
|
||||
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; lock_A = <>} ;
|
||||
prefA a = {s = a.s ; isPre = True ; lock_A = <>} ;
|
||||
|
||||
@@ -398,6 +402,7 @@ oper
|
||||
mkA : (sec,seche : Str) -> A = \sec,seche -> mk4A sec seche (sec + "s") (seche + "ment") ;
|
||||
mkA : (banal,banale,banaux : Str) -> A = \sec,seche,secs -> mk4A sec seche secs (seche + "ment") ;
|
||||
mkA : (banal,banale,banaux,banalement : Str) -> A = mk4A ;
|
||||
mkA : (vieux,vieil,vieille,vieuxs,vieuxment : Str) -> A = mk5A ;
|
||||
mkA : A -> A -> A = mkADeg
|
||||
};
|
||||
|
||||
@@ -471,6 +476,7 @@ oper
|
||||
|
||||
regA : Str -> A ;
|
||||
mk4A : (banal,banale,banaux,banalement : Str) -> A ;
|
||||
mk5A : (vieux,vieil,vieille,vieuxs,vieuxment : Str) -> A ; -- worst-case adjetive
|
||||
|
||||
prefA : A -> A ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user