mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-30 10:28:53 -06:00
Double negation: sebject-dependent - works, object-dependent - still has to be fixed (in VerbsLav). Structural words: everybody, somebody, nobody. Both motivated by AttemptoLav.
74 lines
1.6 KiB
Plaintext
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 } ;
|
|
|
|
}
|