Files
gf-core/lib/src/latvian/AdverbLav.gf

51 lines
1.4 KiB
Plaintext

--# -path=.:../abstract:../common:../prelude
concrete AdverbLav of Adverb = CatLav ** open
ResLav,
Prelude
in {
flags
coding = utf8 ;
lin
-- 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 ; isPron = False} ;
-- 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} ;
-- AdA -> Adv -> Adv
-- e.g. "very quickly"
AdAdv ada adv = {s = ada.s ++ adv.s ; isPron = False} ;
-- TODO: PositAdAAdj : A -> AdA
-- 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 ;
_ => NON_EXISTENT
}
} ;
}