(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:
Inari Listenmaa
2018-12-05 19:16:35 +02:00
committed by GitHub
parent 78cac3725a
commit dadcd386c9
25 changed files with 401 additions and 332 deletions
+36 -37
View File
@@ -1,4 +1,4 @@
incomplete concrete VerbRomance of Verb =
incomplete concrete VerbRomance of Verb =
CatRomance ** open Prelude, CommonRomance, ResRomance in {
flags optimize=all_subs ;
@@ -6,50 +6,50 @@ incomplete concrete VerbRomance of Verb =
lin
UseV = predV ;
ComplVV v vp =
ComplVV v vp =
insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ;
ComplVS v s = insertExtrapos (\\b => conjThat ++ s.s ! (v.m ! b)) (predV v) ;
ComplVQ v q = insertExtrapos (\\_ => q.s ! QIndir) (predV v) ;
ComplVA v ap =
insertComplement (\\a => let agr = complAgr a in ap.s ! AF agr.g agr.n) (predV v) ;
ComplVA v ap =
insertComplement (\\a => let agr = complAgr a in ap.s ! genNum2Aform agr.g agr.n) (predV v) ;
SlashV2a v = mkVPSlash v.c2 (predV v) ;
Slash2V3 v np = mkVPSlash v.c3 (insertObject v.c2 np (predV v)) ;
Slash3V3 v np = mkVPSlash v.c2 (insertObject v.c3 np (predV v)) ;
SlashV2V v vp =
SlashV2V v vp =
mkVPSlash v.c2
(insertComplement
(\\a => v.c3.s ++ prepCase v.c3.c ++ infVP vp a)
(predV v)) ;
(insertComplement
(\\a => v.c3.s ++ prepCase v.c3.c ++ infVP vp a)
(predV v)) ;
SlashV2S v s =
SlashV2S v s =
mkVPSlash v.c2
(insertExtrapos
(insertExtrapos
(\\b => conjThat ++ s.s ! Indic) ---- mood
(predV v)) ;
(predV v)) ;
SlashV2Q v q =
SlashV2Q v q =
mkVPSlash v.c2
(insertExtrapos
(insertExtrapos
(\\_ => q.s ! QIndir)
(predV v)) ;
(predV v)) ;
{- ---- lincat should be fixed
SlashV2A v ap =
SlashV2A v ap =
let af = case v.c3.isDir of {
True => AF np.a.g np.a.n ; -- ... bleues
_ => AF Masc Sg -- il les peint en bleu
True => genNum2Aform np.a.g np.a.n ; -- ... bleues
_ => genNum2Aform Masc Sg -- il les peint en bleu
}
-}
SlashV2A v ap =
let af = AF Masc Sg
SlashV2A v ap =
let af = genNum2Aform Masc Sg
in
mkVPSlash v.c2
(insertComplement
(insertComplement
(\\_ => v.c3.s ++ prepCase v.c3.c ++ ap.s ! af)
(predV v)) ;
@@ -57,33 +57,33 @@ incomplete concrete VerbRomance of Verb =
ReflVP v = case v.c2.isDir of {
True => insertRefl v ;
False => insertComplement
False => insertComplement
(\\a => let agr = verbAgr a in v.c2.s ++ reflPron agr.n agr.p v.c2.c) v
} ;
SlashVV v vp =
SlashVV v vp =
mkVPSlash vp.c2
(insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v)) ;
SlashV2VNP v np vps = let obj = np.s ! v.c2.c in {
SlashV2VNP v np vps = let obj = np.s ! v.c2.c in {
s = v ;
agr = getVPAgr v ;
clit1 = obj.c1 ;
clit2 = obj.c2 ;
clit3 = {s,imp = [] ; hasClit = False} ; ---- shortcut from insertObject, to check AR 20/11/2013
isNeg = False ;
clit1 = obj.c1 ;
clit2 = obj.c2 ;
clit3 = {s,imp = [] ; hasClit = False} ; ---- shortcut from insertObject, to check AR 20/11/2013
isNeg = False ;
neg = negation ;
comp = \\a => v.c2.s ++ obj.comp ++ prepCase v.c3.c ++ infVP vps a ;
ext = \\p => [] ;
c2 = vps.c2
} ;
{- ---- this takes ages to compile, hence inlined as above AR 20/11/2013
SlashV2VNP v np vp =
{- ---- this takes ages to compile, hence inlined as above AR 20/11/2013
SlashV2VNP v np vp =
mkVPSlash vp.c2
(insertComplement
(\\a => prepCase v.c3.c ++ infVP vp a)
(insertObject v.c2 np (predV v))) ;
(insertComplement
(\\a => prepCase v.c3.c ++ infVP vp a)
(insertObject v.c2 np (predV v))) ;
-}
@@ -91,9 +91,9 @@ incomplete concrete VerbRomance of Verb =
UseCopula = predV copula ;
CompAP ap = {s = \\ag => let agr = complAgr ag in ap.s ! AF agr.g agr.n ; cop = serCopula} ;
CompCN cn = { s = \\ag =>
let agr = complAgr ag in
CompAP ap = {s = \\ag => let agr = complAgr ag in ap.s ! genNum2Aform agr.g agr.n ; cop = serCopula} ;
CompCN cn = { s = \\ag =>
let agr = complAgr ag in
artIndef False cn.g agr.n Nom ++ cn.s ! agr.n ;
cop = serCopula
}; --- RE 7/12/2010 -- AR added indef 2/8/2011
@@ -109,11 +109,10 @@ incomplete concrete VerbRomance of Verb =
AdVVPSlash adv vps = vps ** insertAdV adv.s vps ;
PassV2 v = insertComplement
PassV2 v = insertComplement
(\\a => let agr = complAgr a in v.s ! VPart agr.g agr.n) (predV auxPassive) ;
VPSlashPrep vp prep = vp ** {
c2 = {s = prep.s ; c = prep.c ; isDir = False}
} ;
}