restoring the discontinuous Ger NP parts in some linearizations

This commit is contained in:
aarne
2015-07-27 09:14:10 +00:00
parent 0941e98a00
commit 6519a3b72e
6 changed files with 10 additions and 11 deletions

View File

@@ -8,8 +8,8 @@ oper
emptyNP = mkNP (P.mkPN []) ;
lin
NP_Acc_Chunk np = ss (np.s ! NPC Acc) ;
NP_Gen_Chunk np = ss (np.s ! NPC Gen) ;
NP_Acc_Chunk np = ss (np.s ! NPC Acc ++ bigNP np) ;
NP_Gen_Chunk np = ss (np.s ! NPC Gen ++ bigNP np) ;
VPI_Chunk vpi = {s = vpi.s ! (True | False)} ;

View File

@@ -102,7 +102,7 @@ concrete ExtraGer of ExtraGerAbs = CatGer **
PredVPS np vpi =
let
subj = np.s ! NPC Nom ;
subj = np.s ! NPC Nom ++ bigNP np ;
agr = np.a ;
in {
s = \\o =>

View File

@@ -59,17 +59,15 @@ concrete IdiomGer of Idiom = CatGer **
} ;
ImpP3 np vp = {
s = (mkClause (np.s ! NPC Nom) np.a vp).s !
s = (mkClause ((mkSubj np vp.subjc).p1) np.a vp).s !
MConjunct ! Pres ! Simul ! Pos ! Inv
} ;
SelfAdvVP vp = insertAdv "selbst" vp ;
SelfAdVVP vp = insertAdv "selbst" vp ;
SelfNP np = {
SelfNP np = np ** {
s = \\c => np.s ! c ++ "selbst" ;
a = np.a ;
isPron = False ;
adv, rc, ext = []
} ;
oper

View File

@@ -206,5 +206,5 @@ concrete NounGer of Noun = CatGer ** open ResGer, MorphoGer, Prelude in {
s = \\a,n,c => cn.s ! a ! n ! c ++ np.s ! NPC c ++ bigNP np } ;
PossNP cn np = cn ** {
s = \\a,n,c => cn.s ! a ! n ! c ++ np.s ! NPP CVonDat } ;
s = \\a,n,c => cn.s ! a ! n ! c ++ np.s ! NPP CVonDat ++ bigNP np } ;
}

View File

@@ -13,7 +13,7 @@ concrete PhraseGer of Phrase = CatGer ** open Prelude, ResGer in {
UttIP ip = {s = ip.s ! Nom} ; --- Acc also
UttIAdv iadv = iadv ;
UttNP np = {s = np.s ! NPC Nom} ;
UttNP np = {s = np.s ! NPC Nom ++ bigNP np} ;
UttVP vp = {s = useInfVP True vp} ; -- without zu
UttAdv adv = adv ;
UttCN n = {s = n.s ! Strong ! Sg ! Nom} ;
@@ -25,6 +25,6 @@ concrete PhraseGer of Phrase = CatGer ** open Prelude, ResGer in {
PConjConj conj = ss (conj.s2) ;
NoVoc = {s = []} ;
VocNP np = {s = "," ++ np.s ! NPC Nom} ;
VocNP np = {s = "," ++ np.s ! NPC Nom ++ bigNP np} ;
}

View File

@@ -50,7 +50,8 @@ concrete QuestionGer of Question = CatGer ** open ResGer in {
s = \\m,t,a,p =>
let
vp = predV sein_V ** {ext = icomp.ext};
cls = (mkClause (np.s ! NPC Nom) np.a vp).s ! m ! t ! a ! p ;
subj = mkSubj np vp.subjc ;
cls = (mkClause subj.p1 subj.p2 vp).s ! m ! t ! a ! p ;
why = icomp.s ! np.a
in table {
QDir => why ++ cls ! Inv ;