(Ger) Made AP a split phrase with movable comparison NP

This commit is contained in:
Hans Leiss
2024-01-14 16:05:06 +01:00
parent 4249c33de4
commit 00f8b78813
10 changed files with 73 additions and 44 deletions

View File

@@ -69,6 +69,7 @@ concrete TestLangGer of TestLang =
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++
(vp.nn ! agrP3 Sg).p3 ++ (vp.nn ! agrP3 Sg).p4 ++ vp.adj ++ vp.a2
++ vp.inf.inpl.p2 ++ vp.s.s ! VPastPart af ;
s2 = \\_ => [] ;
isPre = True ;
c = <[],[]> ;
adj = [] ;
@@ -183,7 +184,7 @@ gr -tr (PredVP (UsePron ?) (ComplSlash (SlashV2V lassen_V2V (ReflVP (SlashV2a wa
s = \\m,t,a,p =>
let
cls = slash.s ! m ! t ! a ! p ;
who = appPrepC slash.c2 ip.s ;
who = appPrep slash.c2 ip.s ;
in table {
QDir => who ++ cls ! Inv ! (RGenNum gn);
QIndir => who ++ cls ! Sub ! (RGenNum gn)
@@ -201,10 +202,10 @@ gr -tr (PredVP (UsePron ?) (ComplSlash (SlashV2V lassen_V2V (ReflVP (SlashV2a wa
} ;
SlashVS np vs slash =
let subj = mkSubj np PrepNom ;
let subj = mkSubject np PrepNom ;
vps = insertExtrapos (conjThat ++ slash.s ! Sub) (predV vs)
** {c2 = slash.c2 ; objCtrl = False} -- default objCtrl guessed
in mkClSlash subj.p1 subj.p2 vps ;
in mkClSlash subj.s subj.a vps ;
UseSlash t p cl = {
s = \\o => t.s ++ p.s ++ cl.s ! t.m ! t.t ! t.a ! p.p ! o ! RSentence ;
@@ -213,9 +214,9 @@ gr -tr (PredVP (UsePron ?) (ComplSlash (SlashV2V lassen_V2V (ReflVP (SlashV2a wa
oper
gnToAgr : RelGenNum -> Agr = \gn ->
case gn of {RGenNum (GSg g) => Ag g Sg P3 ;
RGenNum GPl => Ag Neutr Pl P3 ;
RSentence => Ag Neutr Sg P3} ;
case gn of {RGenNum (GSg g) => AgSgP3 g ;
RGenNum GPl => AgPl P3 ;
RSentence => AgSgP3 Neutr} ;
mkClSlash : Str -> Agr -> ResGer.VPSlash -> ClauseSlash = \subj,agr,vp ->
@@ -227,7 +228,8 @@ gr -tr (PredVP (UsePron ?) (ComplSlash (SlashV2V lassen_V2V (ReflVP (SlashV2a wa
Sub => True ; -- glue prefix to verb
_ => False
} ;
verb = vps.s ! ord ! agr ! VPFinite m t a ;
vagr = agr2vagr agr ;
verb = vps.s ! ord ! vagr ! VPFinite m t a ;
haben = verb.inf2 ;
neg = negation ! b ;
ag : Agr = case vp.objCtrl of {True => gnToAgr gn ; _ => agr} ;

View File

@@ -51,8 +51,6 @@ lin
kaufen_bei_fuer_V4 = dirV4 (irregV "buy" "bought" "bought") (mkPrep "from") (mkPrep "for") ;
mieten_von_fuer_V4 = dirV4 (regV "rent") (mkPrep "from") (mkPrep "for") ;
neugierig_auf_A2 = mkA2 (regA "curious") (mkPrep "about") ;
wagen_VV = mkVV (regV "dare") ; -- typ=VVInf
versuchen_VV = mkVV (irregV "try" "tried" "tried") ; -- typ=VVInf
helfen_V2V = defaultV2V (regV "help") ;
@@ -62,4 +60,10 @@ lin
-- aci verb:
sehen_V2V = mkV2V (I.see_V) ;
hoeren_V2V = mkV2V (I.hear_V) ;
-- Adjectives
neugierig_auf_A2 = mkA2 (regA "curious") (mkPrep "about") ;
treu_A2 = mkA2 (compoundA (mkA "faithful")) (mkPrep "to") ;
stolz_A2 = mkA2 (mkA "proud" "prouder") (mkPrep "of") ;
}

View File

@@ -55,8 +55,6 @@ lin
kaufen_bei_fuer_V4 = dirV4 (regV "kaufen") bei_Prep fuer_Prep ;
mieten_von_fuer_V4 = dirV4 (regV "mieten") von_Prep fuer_Prep ;
neugierig_auf_A2 = mkA2 (mk3A "neugierig" "neugieriger" "neugierigste") (mkPrep "auf" accusative) ;
-- verbs with infinitival object (non-modal):
wagen_VV = mkVV (regV "wagen") ;
versuchen_VV = mkVV (irregV "versuchen" "versucht" "versuchte" "versuchte" "versucht") ;
@@ -72,4 +70,11 @@ lin
-- aci verb:
sehen_V2V = auxV2V (irregV "sehen" "sieht" "sah" "sähe" "gesehen") accPrep ;
hoeren_V2V = auxV2V (regV "hören") accPrep ;
-- Adjectives
neugierig_auf_A2 = mkA2 (mk3A "neugierig" "neugieriger" "neugierigste") (mkPrep "auf" accusative) ;
treu_A2 = mkA2 (mk3A "treu" "treuer" "treueste") datPrep ;
stolz_A2 = mkA2 (mk3A "stolz" "stolzer" "stolzeste") (mkPrep "auf" accusative) ;
}

View File

@@ -24,8 +24,6 @@ fun
entschuldigen_bei_fuer_rV3 : V3 ;
raechen_am_fuer_rV3 : V3 ;
neugierig_auf_A2 : A2 ;
wagen_VV : VV ;
versuchen_VV : VV ;
@@ -43,4 +41,10 @@ fun
kaufen_bei_fuer_V4 : V4 ;
mieten_von_fuer_V4 : V4 ;
-- Adjectives
neugierig_auf_A2 : A2 ;
treu_A2 : A2 ; -- Ger: dative complement
stolz_A2 : A2 ;
}