mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-08 02:32:50 -06:00
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:
@@ -9,21 +9,37 @@ flags
|
||||
coding = utf8 ;
|
||||
|
||||
lin
|
||||
PositAdvAdj a = { s = a.s ! (AAdv Posit) } ;
|
||||
-- A -> Adv
|
||||
-- e.g. "warmly"
|
||||
PositAdvAdj a = {s = a.s ! (AAdv Posit) ; isPron = False} ;
|
||||
|
||||
-- Prep -> NP -> Adv
|
||||
-- e.g. "in the house"
|
||||
-- FIXME: postpozīcijas prievārdi
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! (prep.c ! (fromAgr np.agr).num) ; isPron = np.isPron} ;
|
||||
|
||||
-- CAdv -> A -> NP -> Adv
|
||||
-- e.g. "more warmly than John"
|
||||
-- TODO: vajag arī 'ātrāks par Jāni' un 'ātrāks nekā Jānis' pie more_CAdv
|
||||
-- TODO: vai te tiešām veido 'ātrāk par Jāni'? kurš ir pareizais adverbs? nevis 'ātrāks par Jāni'?
|
||||
ComparAdvAdj cadv a np = { s = cadv.s ++ a.s ! (AAdv cadv.deg) ++ cadv.prep ++ np.s ! Nom } ;
|
||||
ComparAdvAdj cadv a np = {s = cadv.s ++ a.s ! (AAdv cadv.deg) ++ cadv.prep ++ np.s ! Nom ; isPron = False} ;
|
||||
|
||||
ComparAdvAdjS cadv a s = { s = cadv.s ++ a.s ! (AAdv cadv.deg) ++ cadv.prep ++ s.s } ;
|
||||
-- CAdv -> A -> S -> Adv
|
||||
-- e.g. "more warmly than he runs"
|
||||
ComparAdvAdjS cadv a s = {s = cadv.s ++ a.s ! (AAdv cadv.deg) ++ cadv.prep ++ s.s ; isPron = False} ;
|
||||
|
||||
-- FIXME: postpozīcijas prievārdi
|
||||
PrepNP prep np = { s = prep.s ++ np.s ! (prep.c ! (fromAgr np.agr).num) } ;
|
||||
-- AdA -> Adv -> Adv
|
||||
-- e.g. "very quickly"
|
||||
AdAdv ada adv = {s = ada.s ++ adv.s ; isPron = False} ;
|
||||
|
||||
AdAdv = cc2 ;
|
||||
-- TODO: PositAdAAdj : A -> AdA
|
||||
|
||||
SubjS = cc2 ;
|
||||
-- Subj -> S -> Adv
|
||||
-- e.g. "when she sleeps"
|
||||
SubjS subj s = {s = subj.s ++ s.s ; isPron = False} ;
|
||||
|
||||
-- CAdv -> AdN
|
||||
-- e.g. "less (than five)"
|
||||
AdnCAdv cadv = {
|
||||
s = case cadv.deg of {
|
||||
Posit => cadv.s ++ cadv.prep ;
|
||||
|
||||
Reference in New Issue
Block a user