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 df9b2c5a2e
commit acba4fa5b3
12 changed files with 261 additions and 166 deletions

View File

@@ -15,25 +15,34 @@ lin
FloatPN i = {s = \\_ => i.s ; gend = Masc ; num = Pl} ;
NumPN i = {s = \\_ => i.s ! Masc ! Nom ; gend = Masc ; num = Pl} ;
-- CN -> Int -> NP
-- e.g. "level 53" (covered by CNNumNP)
CNIntNP cn i = {
s = \\_ => cn.s ! Indef ! Sg ! Nom ++ i.s ;
agr = AgrP3 Sg cn.gend ;
pol = Pos ;
isRel = False
s = \\_ => cn.s ! Indef ! Sg ! Nom ++ i.s ;
agr = AgrP3 Sg cn.gend ;
pol = Pos ;
isRel = False ;
isPron = False
} ;
-- Det -> CN -> ListSymb -> NP
-- e.g. "(the) (2) numbers x and y"
CNSymbNP det cn xs = {
s = \\_ => det.s ! cn.gend ! Nom ++ cn.s ! det.defin ! det.num ! Nom ++ xs.s ;
agr = AgrP3 det.num cn.gend ;
pol = Pos ;
isRel = False
s = \\_ => det.s ! cn.gend ! Nom ++ cn.s ! det.defin ! det.num ! Nom ++ xs.s ;
agr = AgrP3 det.num cn.gend ;
pol = Pos ;
isRel = False ;
isPron = False
} ;
-- CN -> Card -> NP
-- e.g. "level five", "level 5"
CNNumNP cn i = {
s = \\_ => cn.s ! Indef ! Sg ! Nom ++ i.s ! Masc ! Nom ;
agr = AgrP3 Sg cn.gend ;
pol = Pos ;
isRel = False
s = \\_ => cn.s ! Indef ! Sg ! Nom ++ i.s ! Masc ! Nom ;
agr = AgrP3 Sg cn.gend ;
pol = Pos ;
isRel = False ;
isPron = False
} ;
SymbS sy = sy ;