extended Romanian grammar with extra special construction

This commit is contained in:
ramona.enache
2010-05-14 19:44:02 +00:00
parent c90f3181f4
commit da90e76107
2 changed files with 25 additions and 3 deletions

View File

@@ -6,9 +6,14 @@ concrete ExtraRon of ExtraRonAbs = CatRon **
at_Prep = mkPrep "la" Ac True;
DatSubjCompCl np vp np2 = let ss = if_then_Str np.isPronoun "" (np.s ! Dat).comp
in
mkClause ss np.isPol np2.a (insertClit (insertSimpObj (\\_ => (np2.s ! Nom).comp) vp) np);
mkClause ss np.isPol np2.a (insertDatClit (insertSimpObj (\\_ => (np2.s ! Nom).comp) vp) np);
AccSubjCl np vp = let ss = if_then_Str np.isPronoun "" (np.s ! Ac).comp
in
mkClause ss np.isPol (agrP3 Masc Sg) (insertAccClit vp np) ;
DatSubjCl np vp = let ss = if_then_Str np.isPronoun "" (np.s ! Da).comp
in mkClause ss np.isPol (agrP3 Masc Sg) (insertClit vp np);
in mkClause ss np.isPol (agrP3 Masc Sg) (insertDatClit vp np);
i8fem_Pron = mkPronoun "eu" "mine" "mie" [] [] "meu" "mea" "mei" "mele" Fem Sg P1 ;
youSg8fem_Pron = mkPronoun "tu" "tine" "ţie" [] "tu" "tău" "ta" "tăi" "tale" Fem Sg P2 ;
youPl8fem_Pron = mkPronoun "voi" "voi" "vouă" [] "voi" "vostru" "voastră" "voştri" "voastre" Fem Pl P2 ;
@@ -20,7 +25,7 @@ youPol8fem_Pron = let dvs = mkPronoun "dumneavoastră" "dumneavoastră" "dumneav
refCN n = n ** {isComp = False; needsRefForm = True};
oper
insertClit : VerbPhrase -> NounPhrase -> VerbPhrase = \vp, np ->
insertDatClit : VerbPhrase -> NounPhrase -> VerbPhrase = \vp, np ->
let
vcDa = case np.nForm of
{HasClit => nextClit vp.nrClit PDat ;
@@ -37,5 +42,21 @@ insertClit : VerbPhrase -> NounPhrase -> VerbPhrase = \vp, np ->
lock_VP = <> };
insertAccClit : VerbPhrase -> NounPhrase -> VerbPhrase = \vp, np ->
let
vcAc = case np.nForm of
{HasClit => nextClit vp.nrClit PAcc ;
_ => vp.nrClit
};
vpp = insertObje (\\_ => "") (clitFromNoun np Ac) RNoAg (isAgrFSg np.a) vcAc vp ;
in
{isRefl = vpp.isRefl;
s = vpp.s ; isFemSg = vpp.isFemSg ; pReflClit = vp.pReflClit ;
nrClit = vpp.nrClit; clAcc = vpp.clAcc ;
clDat = vpp.clDat ; neg = vpp.neg ;
comp = \\a => vpp.comp ! (np.a);
ext = vpp.ext ;
lock_VP = <> };
}

View File

@@ -4,6 +4,7 @@ abstract ExtraRonAbs = Cat **{
fun
DatSubjCl : NP -> VP -> Cl ;
AccSubjCl : NP -> VP -> Cl ;
DatSubjCompCl : NP -> VP -> NP -> Cl ;
at_Prep : Prep ;
refCN : N -> CN ;