mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-30 11:08:35 -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:
+36
-37
@@ -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}
|
||||
} ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user