(Spa) Add SelfAdvVP and Exist{IP,NP}Adv

This commit is contained in:
Inari Listenmaa
2019-04-01 17:20:53 +02:00
parent b259d24556
commit b00b7197e8

View File

@@ -1,5 +1,5 @@
concrete IdiomSpa of Idiom = CatSpa ** concrete IdiomSpa of Idiom = CatSpa **
open (P = ParamX), MorphoSpa, ParadigmsSpa, BeschSpa, Prelude in { open (P = ParamX), MorphoSpa, ParadigmsSpa, BeschSpa, (N=NounSpa), Prelude in {
flags optimize=all_subs ; flags optimize=all_subs ;
@@ -20,13 +20,25 @@ concrete IdiomSpa of Idiom = CatSpa **
ExistNP np = ExistNP np =
mkClause [] True False (agrP3 Masc Sg) mkClause [] True False (agrP3 Masc Sg)
(insertComplement (\\_ => (np.s ! Acc).ton) (predV (verboV (hay_3 "haber")))) ; (insertComplement (\\_ => (np.s ! Acc).ton) hay_VP) ;
ExistNPAdv np adv = ExistNP (N.AdvNP np adv) ;
ExistIP ip = { ExistIP ip = {
s = \\t,a,p,_ => s = \\t,a,p,_ =>
ip.s ! Nom ++ ip.s ! Nom ++
(mkClause [] True False (agrP3 Masc Sg) (predV (verboV (hay_3 "haber")))).s ! DDir ! t ! a ! p ! Indic (mkClause [] True False (agrP3 Masc Sg) hay_VP).s ! DDir ! t ! a ! p ! Indic
} ; } ;
ExistIPAdv ip adv = {
s = \\t,a,p,_ =>
ip.s ! Nom ++
(mkClause [] True False (agrP3 Masc Sg) hay_VP).s ! DDir ! t ! a ! p ! Indic
++ adv.s
} ;
-- ImpP3 np vp = {} ;
ProgrVP vp = ProgrVP vp =
insertComplement insertComplement
(\\agr => (\\agr =>
@@ -42,4 +54,22 @@ concrete IdiomSpa of Idiom = CatSpa **
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
} ; } ;
-- : NP -> NP ; -- the president himself (is at home)
-- SelfNP np =
-- : VP -> VP ; -- is himself at home
SelfAdvVP,
SelfAdVVP = selfVP ;
oper
hay_VP = predV (verboV (hay_3 "haber")) ;
selfVP : VP -> VP = insertComplement (
\\agr => case agr of {
{g = g ; n = n ; p = p} => table {
P1 => numForms "yo mismo" "yo misma" ! n ;
P2 => genNumForms "tu mismo" "tu misma" "vosotros mismos" "vosotras mismas" ! g ! n ;
P3 => genNumForms "él mismo" "ella misma" "ellos mismos" "ellas mismas" ! g ! n
} ! p
}
) ;
} }