mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-08 06:36:32 -06:00
Latvian: an optimized NP linearization type => fixed the double negation support in VPS
The flag indicating whether a NP has a negated determiner is now encapsulated in the algebraic parameter Agr, removing the extra field in the NP linearization type.
This commit is contained in:
@@ -40,6 +40,8 @@ lin
|
||||
they8fem_Pron = mkPronoun_They Fem ;
|
||||
it8fem_Pron = mkPronoun_It_Sg Fem ;
|
||||
|
||||
have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ;
|
||||
|
||||
{-empty_Det num def neg = \num,def,neg -> {
|
||||
s = \\_,_ => [] ;
|
||||
n = num ;
|
||||
@@ -49,18 +51,17 @@ lin
|
||||
|
||||
-- Zemāk esošās f-cijas nav ExtraLavAbs, tās ir abstract/Extra.gf
|
||||
|
||||
-- NP -> Quant
|
||||
GenNP np = {
|
||||
s = \\_,_,_ => np.s ! Gen ;
|
||||
d = Def ;
|
||||
isNeg = np.isNeg
|
||||
pol = (fromAgr np.a).pol
|
||||
} ;
|
||||
|
||||
--ICompAP ap = {s = \\g,n => "cik" ++ ap.s ! Indef ! g ! n ! Nom } ;
|
||||
|
||||
IAdvAdv adv = {s = "cik" ++ adv.s} ;
|
||||
|
||||
have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ;
|
||||
|
||||
-- for VP conjunction
|
||||
|
||||
lincat
|
||||
@@ -84,7 +85,7 @@ lin
|
||||
-- TODO: subj-dependent double negation
|
||||
-- TODO: subj/obj isNeg jāpārceļ uz Agr (?)
|
||||
--let verb = vp.v.s ! pol.p ! Indicative (fromAgr agr).pers (fromAgr agr).num temp.t in
|
||||
temp.s ++ buildVerb vp.v (Ind temp.a temp.t) pol.p subjAgr False vp.objNeg ++ vp.compl ! subjAgr
|
||||
temp.s ++ buildVerb vp.v (Ind temp.a temp.t) pol.p subjAgr (fromAgr subjAgr).pol vp.objNeg ++ vp.compl ! subjAgr
|
||||
} ;
|
||||
|
||||
-- Conj -> [VPS] -> VPS
|
||||
|
||||
Reference in New Issue
Block a user