Latvian: if ~object~ is a Pron and is not modified by a RCl, it is more natural/neutral if it precedes the verb. For this, the lin types of NP and Adv are extended with a boolean field isPron (in addition to the previously introduced isRel field that indicates whether a CN or NP is modified by a RCl).

This commit is contained in:
normundsg
2013-12-16 19:08:38 +00:00
parent 27bd7bbb15
commit 120e616a28
12 changed files with 261 additions and 166 deletions

View File

@@ -17,8 +17,13 @@ lin
UseComparA a = { s = \\d,g,n,c => a.s ! (AAdj Compar d g n c) } ;
-- A2 -> NP -> AP
-- e.g. "married to her"
ComplA2 a np = {
s = \\d,g,n,c => a.s ! (AAdj Posit d g n c) ++ a.prep.s ++ np.s ! (a.prep.c ! (fromAgr np.agr).num)
s = \\d,g,n,c => case np.isPron of {
False => a.s ! (AAdj Posit d g n c) ++ a.prep.s ++ np.s ! (a.prep.c ! (fromAgr np.agr).num) ;
True => a.prep.s ++ np.s ! (a.prep.c ! (fromAgr np.agr).num) ++ a.s ! (AAdj Posit d g n c)
}
} ;
ReflA2 a = { s = \\d,g,n,c => a.s ! (AAdj Posit d g n c) ++ a.prep.s ++ reflPron ! (a.prep.c ! n) } ;
@@ -36,4 +41,13 @@ lin
UseA2 a = { s = \\d,g,n,c => a.s ! (AAdj Posit d g n c) } ;
-- AP -> Adv -> AP
-- e.g. "warm by nature"
AdvAP ap adv = {
s = \\d,g,n,c => case adv.isPron of {
False => ap.s ! d ! g ! n ! c ++ adv.s ;
True => adv.s ++ ap.s ! d ! g ! n ! c
}
} ;
}