concrete IdiomCat of Idiom = CatCat ** open MorphoCat, ParadigmsCat, BeschCat, Prelude in { flags optimize=all_subs ; lin ExistNP np = mkClause [] True (agrP3 Masc Sg) (insertClit2 "hi" (insertComplement (\\_ => np.s ! Ton Acc) (predV haver_V))) ; GenericCl vp = mkClause "hom" True (agrP3 Masc Sg) vp ; ImpersCl vp = mkClause [] True (agrP3 Masc Sg) vp ; ProgrVP vpr = let vp = useVP vpr in insertComplement (\\agr => let clpr = pronArg agr.n agr.p vp.clAcc vp.clDat ; obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ---- pol in (vp.s ! VPGerund).inf ! (aagr agr.g agr.n) ++ clpr.p1 ++ obj ) (predV (verbV (estar_54 "estar"))) ; ----AR, for completeness CleftNP np rs = mkClause [] True (agrP3 Masc Sg) (insertComplement (\\_ => rs.s ! Indic ! np.a) (insertComplement (\\_ => np.s ! Ton rs.c) (predV copula))) ; ExistIP ip = { s = \\t,a,p,_ => ip.s ! Nom ++ (mkClause [] True (agrP3 Masc Sg) (insertClit2 "hi" (insertComplement (\\_ => ip.s ! Acc) (predV haver_V)))) .s ! DDir ! t ! a ! p ! Indic } ; ImpPl1 vpr = let vp = useVP vpr in {s = (mkImperative False P1 vp).s ! Pos ! {n = Pl ; g = Masc} --- fem } ; CleftAdv ad s = mkClause [] True (agrP3 Masc Sg) (insertComplement (\\_ => conjThat ++ s.s ! Indic) (insertComplement (\\_ => ad.s) (predV copula))) ; }