Files
gf-rgl/src/latvian/IdiomLav.gf
Normunds Gruzitis eb60a31923 Latvian: added support for double negation, fixed some structural words
Double negation: sebject-dependent - works, object-dependent - still has to be fixed (in VerbsLav).
Structural words: everybody, somebody, nobody.
Both motivated by AttemptoLav.
2012-10-16 13:54:52 +00:00

74 lines
1.6 KiB
Plaintext

--# -path=.:../abstract:../common:../prelude
concrete IdiomLav of Idiom = CatLav ** open
Prelude,
ResLav,
VerbLav,
ParadigmsVerbsLav
in {
flags
coding = utf8 ;
optimize = all_subs ;
lin
ImpersCl vp =
let agr = AgP3 Sg Masc
in {
s = \\mood,pol =>
buildVerb vp.v mood pol agr False vp.objNeg ++ -- Verb
vp.compl ! agr -- Object(s), complements, adverbial modifiers
} ;
GenericCl vp =
let agr = AgP3 Sg Masc
in {
s = \\mood,pol =>
buildVerb vp.v mood pol agr False vp.objNeg ++
vp.compl ! agr
} ;
ExistNP np =
let
v = lin V mkVerb_Irreg_Be ;
agr = np.a
in {
s = \\mood,pol =>
buildVerb v mood pol agr np.isNeg False ++
np.s ! Nom
} ;
ExistIP ip =
let
v = lin V mkVerb_Irreg_Be ;
agr = AgP3 ip.n Masc
in {
s = \\mood,pol =>
ip.s ! Nom ++
buildVerb v mood pol agr False False
} ;
-- FIXME: needs restriction so that only VerbMood Indicative _ _ Present is allowed;
-- can't do that on VP level...
ProgrVP v = v ;
ImpPl1 vp =
let agr = AgP1 Pl Masc
in {
s =
vp.v.s ! Pos ! (Indicative P1 Pl Pres) ++ -- Verb
vp.compl ! agr -- Object(s), complements, adverbial modifiers
}
| { s = vp.v.s ! Pos ! (Indicative P1 Pl Fut) ++ vp.compl ! agr } --# notpresent
;
ImpP3 np vp = {
s = "lai" ++ np.s ! Nom ++ buildVerb vp.v (Ind Simul Pres) Pos np.a np.isNeg vp.objNeg ++ vp.compl ! np.a ;
} ;
-- FIXME: placeholder
CleftNP np rs = { s = \\_,_ => NON_EXISTENT } ;
CleftAdv ad s = { s = \\_,_ => NON_EXISTENT } ;
}