1
0
forked from GitHub/gf-rgl

Ger: improved infinitives (and passives); tests with more verbs in testing/german

- NP: added field isLight in order to push negation behind light nps;
  this had been done in gf-3.9 using field isPron, but isPron is now
  used to put accusative pronoun before dative pronoun. Removed field
  adv: adverbial extensions cannot be extracted (todo: also for CN).
  Reduced isLight*isPron to w:Weight with 3 values: WPron, WLight, WHeavy.

- added param Control and field ctrl:Control to classify V2V-verbs into
  subject- and object-contol verbs, use ctrl to make reflexives agree
  with subject resp. object in VPSlash, and refine ComplSlash.

- Verb: new versions of ComplVV, SlashV2V and SlashVV to give better
  (nested) infinitives (extracting infzu and correcting object order).
  a) nested SlashVV doesn't work properly;
  b) SlashV2VNP may have to be commented out to prevent a stack overflow
     when compiling.
  Intended change of SlashV2VNP in tests/german/TestLangGer could not
  be tested due to size problems with the compiler.

- VP: changed field a1 : Polarity => Str to a1:Str to collect the adverbs
  coming before negation, using (negation : Polarity => Str) in mkClause.
  Use objCtrl:Bool instead of missingAdv to let reflexives agree with object.

- ResGer: insertObjNP reorganized, infzuVP added

- DictVerbsGer: some corrections (helft -> hilft, *sprecht -> *spricht)

- Some potential passive rules in tests/german/TestLangGer|Eng

- ExtraGer needs to be cleaned up with repect to the modified mkClause.
This commit is contained in:
Hans Leiss
2019-09-18 15:16:42 +02:00
parent ef0549053e
commit 8fb8ddd808
31 changed files with 1580 additions and 264 deletions

View File

@@ -1,7 +1,7 @@
--# -path=.:../abstract:../common:../prelude:
concrete TestLexiconGer of TestLexiconGerAbs =
CatGer ** open (R=ResGer), (P=Prelude), ParadigmsGer
LexiconGer ** open (R=ResGer), (P=Prelude), ParadigmsGer
in {
lincat
@@ -16,25 +16,30 @@ oper
bei_Prep = mkPrep "bei" dative ;
fuer_Prep = mkPrep "für" accusative ;
mit_Prep = mkPrep "mit" dative ;
-- quaternary verbs:
mkV4 : V -> Prep -> Prep -> Prep -> V4 =
\v,p2,p3,p4 -> lin V4 (v ** { c2=p2 ; c3=p3 ; c4=p4 }) ;
dirV4 : V -> Prep -> Prep -> V4 = \v,c,d -> mkV4 v accPrep c d ;
-- control verbs
dirV2V : V -> V2V = \v -> mkV2V v ;
lin
aendern_rV = reflV (regV "ändern") accusative ;
anstrengen_rV = reflV (prefixV "an" (regV "strengen")) accusative ;
gedenken_gen_V2 = mkV2 (irregV "gedenken" "gedenkt" "gedachte" "gedächte" "gedacht") genPrep ;
bedienen_gen_rV2 = reflV2 (regV "bedienen") accusative genPrep ;
stuetzen_auf_rV2 = reflV2 (regV "stützen") accusative (mkPrep "auf" accusative) ;
ergeben_dat_rV2 = reflV2 (irregV "ergeben" "ergibt" "ergab" "ergäbe" "ergeben") accusative datPrep ;
merken_rV2 = reflV2 (regV "merken") dative accPrep ;
erklaeren_dat_V3 = accdatV3 (irregV "erklären" "erklärt" "erklärte" "erklärte" "erklärt") ;
erklaeren_dat_V3 = mkV3 (irregV "erklären" "erklärt" "erklärte" "erklärte" "erklärt") ;
anklagen_gen_V3 = dirV3 (prefixV "an" (regV "klagen")) genPrep ;
erinnern_an_V3 = dirV3 (irregV "erinnern" "erinnert" "erinnerte" "erinnerte" "erinnert") (mkPrep "an" accusative) ;
danken_dat_fuer_V3 = mkV3 (regV "danken") datPrep (mkPrep "für" accusative) ;
debattieren_mit_ueber_V3 = mkV3 (irregV "debattieren" "debattiert" "debattierte" "debattierte" "debattiert") mit_Prep (mkPrep "über" accusative) ;
lehren_V3 = dirV3 (regV "lehren") accPrep ;
abschauen_bei_rV3 = reflV3 (prefixV "ab" (irregV "schauen" "schaut" "schaute" "schaute" "geschaut")) dative accPrep bei_Prep ;
@@ -49,4 +54,12 @@ lin
neugierig_auf_A2 = mkA2 (mk3A "neugierig" "neugieriger" "neugierigste") (mkPrep "auf" accusative) ;
wagen_VV = mkVV (regV "wagen") ;
versuchen_VV = mkVV (irregV "versuchen" "versucht" "versuchte" "versuchte" "versucht") ;
helfen_V2V = mkV2V (irregV "helfen" "hilft" "half" "hälfe" "geholfen") datPrep ;
warnen_V2V = dirV2V (regV "warnen") ;
-- versprechen_dat_V2V = subjV2V (mkV2V (irregV "versprechen" "verspricht" "versprach" "verspräche" "versprochen") datPrep) ;
lassen_V2V = auxV2V (irregV "lassen" "lasst" "ließ" "ließe" "gelassen") accPrep ; -- lasse dich (*zu) arbeiten
}