forked from GitHub/gf-rgl
ac5352f852
* is copula / is have_V2 / is neither There is no difference; all three options are is mutually exclusive. There 2 params in the first place only by accident. First one was added by AED 10 years agon, second by me only some weeks ago, without thinking that the params are mutually exclusive. Also tested with gftest, no difference found after 2 hours of running.
67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
concrete IdiomAra of Idiom = CatAra ** open
|
|
Prelude,
|
|
ResAra,
|
|
VerbAra,
|
|
ParadigmsAra
|
|
in {
|
|
|
|
|
|
lin
|
|
|
|
-- : VP -> Cl ; -- it is hot
|
|
-- "it is a girl" becomes "she is a girl";
|
|
-- "it is twins" becomes "they<dual> are<dual> twins".
|
|
ImpersCl vp = -- if no obj, default Per3 Masc Sg
|
|
let it : ResAra.NP = gn2pron vp.obj.a.gn ;
|
|
in predVP it vp ;
|
|
|
|
-- : VP -> Cl ; -- one sleeps
|
|
GenericCl = predVP (regNP "المَرْء" Sg Def) ;
|
|
|
|
-- : NP -> RS -> Cl ; -- it is I who did it
|
|
--CleftNP np rs =
|
|
|
|
-- : Adv -> S -> Cl ; -- it is here she slept
|
|
CleftAdv adv s =
|
|
let comp : Comp = CompAdv (lin Adv {s = adv.s ++ s.s ! Verbal}) ; -- no idea about word order /IL
|
|
pass_V = mkV "مضي" va vi ; -- switch to copula or some other verb if better /IL
|
|
in predVP emptyNP (UseV pass_V ** {vtype=Copula ; pred=comp}) ; -- very hacky /IL
|
|
|
|
-- : NP -> Cl ; -- there is a house
|
|
ExistNP np =
|
|
predVP (emptyNP ** {s=\\c=>"هُنَاكَ"}) (UseComp (CompNP np)) ; -- IL
|
|
|
|
-- : IP -> QCl ; -- which houses are there
|
|
ExistIP ip = let cl = ExistNP (ip2np ip False) in {
|
|
s = \\t,p,q => cl.s ! t ! p ! Nominal -- IL guessed
|
|
} ;
|
|
|
|
-- 7/12/2012 generalizations of these
|
|
|
|
-- : NP -> Adv -> Cl ; -- there is a house in Paris
|
|
ExistNPAdv np adv =
|
|
predVP (emptyNP ** {s=\\c=>"هُنَاكَ"}) (AdvVP (UseComp (CompNP np)) adv) ; -- IL
|
|
|
|
-- ExistIPAdv : IP -> Adv -> QCl ; -- which houses are there in Paris
|
|
|
|
-- ProgrVP : VP -> VP ; -- be sleeping
|
|
|
|
-- ImpPl1 : VP -> Utt ; -- let's go
|
|
|
|
-- ImpP3 : NP -> VP -> Utt ; -- let John walk
|
|
|
|
-- 3/12/2013 non-reflexive uses of "self"
|
|
|
|
-- : VP -> VP ; -- is at home himself; is himself at home
|
|
SelfAdvVP,
|
|
SelfAdVVP = \vp -> vp ** {
|
|
s = \\pgn,vf => vp.s ! pgn ! vf ++ reflPron Nom pgn
|
|
} ;
|
|
|
|
-- : NP -> NP ; -- the president himself (is at home)
|
|
SelfNP np = np ** {
|
|
s = \\c => np.s ! c ++ reflPron c (np.a.pgn)
|
|
} ;
|
|
|
|
}
|