mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
restoring the discontinuous Ger NP parts in some linearizations
This commit is contained in:
@@ -8,8 +8,8 @@ oper
|
|||||||
emptyNP = mkNP (P.mkPN []) ;
|
emptyNP = mkNP (P.mkPN []) ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
NP_Acc_Chunk np = ss (np.s ! NPC Acc) ;
|
NP_Acc_Chunk np = ss (np.s ! NPC Acc ++ bigNP np) ;
|
||||||
NP_Gen_Chunk np = ss (np.s ! NPC Gen) ;
|
NP_Gen_Chunk np = ss (np.s ! NPC Gen ++ bigNP np) ;
|
||||||
|
|
||||||
VPI_Chunk vpi = {s = vpi.s ! (True | False)} ;
|
VPI_Chunk vpi = {s = vpi.s ! (True | False)} ;
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ concrete ExtraGer of ExtraGerAbs = CatGer **
|
|||||||
|
|
||||||
PredVPS np vpi =
|
PredVPS np vpi =
|
||||||
let
|
let
|
||||||
subj = np.s ! NPC Nom ;
|
subj = np.s ! NPC Nom ++ bigNP np ;
|
||||||
agr = np.a ;
|
agr = np.a ;
|
||||||
in {
|
in {
|
||||||
s = \\o =>
|
s = \\o =>
|
||||||
|
|||||||
@@ -59,17 +59,15 @@ concrete IdiomGer of Idiom = CatGer **
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
ImpP3 np vp = {
|
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
|
MConjunct ! Pres ! Simul ! Pos ! Inv
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SelfAdvVP vp = insertAdv "selbst" vp ;
|
SelfAdvVP vp = insertAdv "selbst" vp ;
|
||||||
SelfAdVVP vp = insertAdv "selbst" vp ;
|
SelfAdVVP vp = insertAdv "selbst" vp ;
|
||||||
SelfNP np = {
|
SelfNP np = np ** {
|
||||||
s = \\c => np.s ! c ++ "selbst" ;
|
s = \\c => np.s ! c ++ "selbst" ;
|
||||||
a = np.a ;
|
|
||||||
isPron = False ;
|
isPron = False ;
|
||||||
adv, rc, ext = []
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|||||||
@@ -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 } ;
|
s = \\a,n,c => cn.s ! a ! n ! c ++ np.s ! NPC c ++ bigNP np } ;
|
||||||
|
|
||||||
PossNP cn np = cn ** {
|
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 } ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ concrete PhraseGer of Phrase = CatGer ** open Prelude, ResGer in {
|
|||||||
|
|
||||||
UttIP ip = {s = ip.s ! Nom} ; --- Acc also
|
UttIP ip = {s = ip.s ! Nom} ; --- Acc also
|
||||||
UttIAdv iadv = iadv ;
|
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
|
UttVP vp = {s = useInfVP True vp} ; -- without zu
|
||||||
UttAdv adv = adv ;
|
UttAdv adv = adv ;
|
||||||
UttCN n = {s = n.s ! Strong ! Sg ! Nom} ;
|
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) ;
|
PConjConj conj = ss (conj.s2) ;
|
||||||
|
|
||||||
NoVoc = {s = []} ;
|
NoVoc = {s = []} ;
|
||||||
VocNP np = {s = "," ++ np.s ! NPC Nom} ;
|
VocNP np = {s = "," ++ np.s ! NPC Nom ++ bigNP np} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ concrete QuestionGer of Question = CatGer ** open ResGer in {
|
|||||||
s = \\m,t,a,p =>
|
s = \\m,t,a,p =>
|
||||||
let
|
let
|
||||||
vp = predV sein_V ** {ext = icomp.ext};
|
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
|
why = icomp.s ! np.a
|
||||||
in table {
|
in table {
|
||||||
QDir => why ++ cls ! Inv ;
|
QDir => why ++ cls ! Inv ;
|
||||||
|
|||||||
Reference in New Issue
Block a user