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

@@ -3,7 +3,7 @@
-- translations and corresponding c2,c3,c4-objects under Slash?V3, Slash?V4.
concrete TestLexiconEng of TestLexiconGerAbs =
CatEng ** open (R=ResEng), (P=Prelude), ParadigmsEng
LexiconEng ** open (R=ResEng), (P=Prelude), ParadigmsEng, (I=IrregEng)
in {
lincat
@@ -20,6 +20,8 @@ oper
mkV4 : V -> Prep -> Prep -> Prep -> V4 =
\v,p2,p3,p4 -> lin V4 (v ** { c2=p2.s ; c3=p3.s ; c4=p4.s }) ;
dirV4 : V -> Prep -> Prep -> V4 = \v,c,d -> mkV4 v noPrep c d ;
-- control verbs:
defaultV2V : V -> V2V = \v -> lin V2V (dirV2 v ** {c3=[] ; typ = R.VVInf}) ;
lin
aendern_rV = (regV "change") ;
@@ -27,6 +29,7 @@ lin
compl : Str = "an effort"
in {s = \\vf => v.s!vf ++ compl ; isRefl = P.False ; p = []} ;
gedenken_gen_V2 = dirV2 (regV "remember") ;
bedienen_gen_rV2 = dirV2 (regV "use") ;
stuetzen_auf_rV2 = mkV2 (irregV "rely" "relied" "relied") (mkPrep "on") ;
ergeben_dat_rV2 = mkV2 (regV "surrender") (mkPrep "to") ;
@@ -36,6 +39,7 @@ lin
erklaeren_dat_V3 = dirV3 (regV "explain") (mkPrep "to") ;
erinnern_an_V3 = dirV3 (regV "remind") (mkPrep "of") ;
danken_dat_fuer_V3 = dirV3 (regV "thank") (mkPrep "for") ;
debattieren_mit_ueber_V3 = mkV3 (regV "debate") (mkPrep "with") (mkPrep "about") ;
lehren_V3 = mkV3 (irregV "teach" "taught" "taught") noPrep noPrep ;
abschauen_bei_rV3 = dirV3 (regV "copy") (mkPrep "from") ;
@@ -48,4 +52,12 @@ lin
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") ;
warnen_V2V = defaultV2V (regV "warn") ; -- typ=VVInf
versprechen_dat_V2V = defaultV2V (regV "promise") ; -- typ=VVInf
lassen_V2V = ParadigmsEng.mkV2V (I.let_V) ; -- typ=VVAux
}