forked from GitHub/gf-rgl
- 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.
360 lines
18 KiB
Plaintext
360 lines
18 KiB
Plaintext
-- For regression tests using gf> eh regression-test.txt, HL 6/2019
|
|
-- to test the ordering of objects and negation in simple clauses
|
|
|
|
-- examples from ResGer.gf, 27/5/2012
|
|
|
|
ich bin nicht alt -- accept
|
|
ich bin nicht hier -- accept
|
|
ich kenne dich nicht -- accept
|
|
ich kenne deine Frau nicht -- accept
|
|
ich bin nicht ein Kind -- dubious
|
|
ich bin kein Kind -- accept, no_Quant
|
|
ich schlafe nicht hier -- accept
|
|
ich sage nicht , dass es regnet , -- accept
|
|
ich male es nicht blau -- accept
|
|
ich schlafe nicht immer -- accept
|
|
ich kenne dich nicht immer -- accept
|
|
ich kann nicht schlafen -- accept
|
|
es wird nicht besser -- accept
|
|
|
|
-- simple sentences with V2 and (negated) indefinite objects, (-)iNP
|
|
|
|
wir trinken Bier -- accept
|
|
wir trinken Bier nicht -- accept (v2fin < MassNP < neg)
|
|
wir trinken es nicht -- accept (v2fin < Pron < neg)
|
|
wir trinken kein Bier -- accept (v2fin < -MassNP) via no_Quant
|
|
wir trinken nicht Bier -- reject (v2fin < neg < MassNP) not_Predet
|
|
wir trinken nicht es -- reject *(v2fin < neg < Pron) not_Predet
|
|
|
|
wir trinken warmes Bier nicht -- accept (v2fin < MassNP < neg)
|
|
wir trinken nicht warmes Bier -- reject *(v2fin < neg < MassNP)
|
|
wir trinken kein warmes Bier -- accept (v2fin < -MassNP)
|
|
wir trinken kein warmes Bier nicht -- reject (v2fin < -MassNP < neg; Bavarian: recognize)
|
|
|
|
ich sehe den Mann nicht -- accept (v2fin < dNP < neg)
|
|
ich sehe einen Mann nicht -- dubious (v2fin < iNP < neg), einen Mann nicht sehen
|
|
ich sehe keinen Mann -- accept (v2fin < -iNP) no_Quant
|
|
ich sehe ihn nicht -- accept (v2fin < Pron < neg)
|
|
ich sehe nicht ihn -- reject *(v2fin < neg < Pron); ok with emphasis?
|
|
ich sehe jemanden nicht -- accept, dubious (v2fin < iPron < neg)
|
|
ich sehe nicht jemanden -- reject *(v2fin < neg < iPron)
|
|
ich sehe niemanden -- accept (v2fin < -iPron)
|
|
|
|
ich lese ein schlechtes Buch nicht -- accept (v2fin < iNP < neg), sentence negation
|
|
ich lese kein schlechtes Buch -- accept (v2fin < -iNP)
|
|
|
|
ich sehe Gründe -- accept (v2fin < iNP)
|
|
ich sehe Gründe nicht -- dubious, accept (v2fin < iNP < neg)
|
|
ich sehe nicht Gründe -- dubious, accept not_Predet
|
|
ich sehe keine Gründe -- accept (v2fin < -iNP)
|
|
|
|
ich sehe zwei Gründe -- accept (v2fin < dNP)
|
|
ich sehe zwei Gründe nicht -- accept (v2fin < dNP < neg)
|
|
ich sehe keine zwei Gründe -- accept (v2fin < -dNP)
|
|
|
|
ich sehe schlechte Gründe -- accept
|
|
ich sehe schlechte Gründe nicht -- accept (v2fin < iNP < neg)
|
|
ich sehe keine schlechten Gründe -- accept (v2fin < -iNP)
|
|
ich sehe keine schlechte Gründe -- reject AdjDekl
|
|
|
|
ich sehe viele schlechte Gründe -- accept (v2fin < qNP)
|
|
ich sehe viele schlechten Gründe -- reject AdjDekl
|
|
ich sehe viele schlechte Gründe nicht -- accept (v2fin < qNP < neg)
|
|
ich sehe nicht viele schlechte Gründe -- accept (v2fin < neg < qNP) no_Predet
|
|
ich sehe wenige schlechte Gründe -- accept
|
|
ich sehe wenige schlechten Gründe -- reject AdjDekl
|
|
|
|
-- with modal verb:
|
|
|
|
wir wollen einen Mann nicht sehen -- dubious
|
|
wir wollen nicht einen Mann sehen -- dubious
|
|
wir wollen jemanden sehen -- accept
|
|
wir wollen nicht jemanden sehen -- dubious, reject
|
|
wir wollen jemanden nicht sehen -- dubious, accept (niemanden sehen)
|
|
|
|
-- v2 with prep (default order, Main: v2fin < neg < prep)
|
|
|
|
wir warten nicht auf die Kinder -- accept (v2 < neg < prep)
|
|
wir warten nicht auf dich -- accept
|
|
wir werden nicht auf euch warten -- accept
|
|
wir haben nicht auf alle Kinder gewartet -- accept
|
|
wir haben nicht auf euch gewartet -- accept
|
|
weil wir nicht auf euch warten wollen -- accept
|
|
wir warten nicht auf viele Kinder -- accept (prep ++ quantified np)?
|
|
|
|
wir warten auf viele Kinder nicht -- dubious (v2fin < prep + qNP < neg)
|
|
wir haben auf viele Kinder nicht gewartet -- dubious
|
|
wir haben auf alle Kinder nicht gewartet -- reject *(v2fin < prep < neg)
|
|
|
|
wir warten auf die Kinder nicht -- accept dubious
|
|
wir warten auf dich nicht -- accept dubious
|
|
wir haben auf euch nicht gewartet -- accept dubious
|
|
weil wir auf euch nicht warten wollen -- accept dubious
|
|
|
|
-- simple sentences with accdatV3 and definite/indefinite nonPron objects
|
|
|
|
ich schicke der Frau das Buch -- accept (v3fin < dNP.dat < dNP.acc)
|
|
ich schicke der Frau ein Buch -- accept (v3fin < dNP.dat < iNP.acc)
|
|
ich schicke einer Frau das Buch -- accept (v3fin < iNP.dat < dNP.acc)
|
|
ich schicke einer Frau ein Buch -- accept (v3fin < iNP.dat < iNP.acc)
|
|
|
|
ich schicke das Buch der Frau -- dubious (v3fin < dNP.acc < dNP.dat)
|
|
ich schicke ein Buch der Frau -- reject *(v3fin < iNP.acc < dNP.dat)
|
|
ich schicke das Buch einer Frau -- dubious (v3fin < dNP.acc < iNP.dat)
|
|
ich schicke ein Buch einer Frau -- reject, dubious (v3fin < iNP.acc < iNP.dat)
|
|
|
|
-- simple sentences with accdatV3, negation and in/definite objects and Prons:
|
|
|
|
-- (der Frau | ihr) (das | ein) Buch nicht schicken (v3fin < NP.dat < NP.acc < neg Vinf)
|
|
|
|
ich schicke der Frau das Buch nicht -- accept (dNP.dat < dNP.acc < neg)
|
|
ich schicke einer Frau das Buch nicht -- accept (v3fin < iNP.dat < dNP.acc < neg)
|
|
ich schicke ihr das Buch nicht -- accept (v3fin < Pron.dat < dNP.acc < neg)
|
|
ich schicke es der Frau nicht -- accept (v3fin < Pron.acc < dNP.dat < neg)
|
|
ich schicke es einer Frau nicht -- accept (v3fin < Pron.acc < iNP.dat < neg)
|
|
ich schicke es ihr nicht -- accept (v3fin < Pron.acc < Pron.dat < neg)
|
|
ich schicke ihr es nicht -- reject *(v3fin < Pron.dat < Pron.acc < neg)
|
|
ich schicke es nicht ihr -- reject *(v3fin < Pron.acc < neg < Pron.dat)
|
|
|
|
ich schicke keiner Frau das Buch -- accept (v3fin < -iNP.dat < dNP.acc)
|
|
ich schicke das Buch keiner Frau -- accept (v3fin < dNP.acc < -iNP.dat)
|
|
ich schicke das Buch einer Frau nicht -- reject ?(v3fin < dNP.acc < iNP < neg)
|
|
|
|
ich schicke der Frau kein Buch -- accept (v3fin < dNP.dat < -iNP.acc)
|
|
ich schicke ihr kein Buch -- accept (v3fin < Pron.dat < -iNP.acc)
|
|
ich schicke keiner Frau ein Buch -- accept (v3fin < -iNP.dat < iNP.acc)
|
|
ich schicke es keiner Frau -- accept (v3fin < Pron.acc < -iNP.dat)
|
|
ich schicke es einer Frau nicht -- accept (v3fin < Pron.acc < iNP.dat < neg)
|
|
|
|
ich schicke ihr das Buch nicht -- accept: Pron.dat < dNP.acc < neg
|
|
|
|
-- using Slash2V3, Slash3V3:
|
|
|
|
-- provided that c2=dir-object, c3=indir-object in "give_V3 sb. sth."
|
|
-- geben = v2{c2=acc,c3=dat}) == give = v2{c2=noP,c3=noP} !!
|
|
|
|
der Apfel , den das Kind der Frau gibt , -- accept
|
|
der Apfel , den das Kind ihr gibt , -- accept
|
|
der Apfel , den ihr das Kind gibt , -- accept
|
|
der Apfel , den es ihr gibt , -- accept
|
|
der Apfel , den ihr es gibt , -- reject, Pron-order
|
|
|
|
die Frau , der das Kind den Apfel nicht gibt , -- accept
|
|
die Frau , der es den Apfel nicht gibt , -- accept
|
|
die Frau , der das Kind ihn nicht gibt , -- accept
|
|
die Frau , der ihn das Kind nicht gibt , -- accept
|
|
die Frau , der die Kinder den Apfel nicht geben , -- accept
|
|
die Frau , der die Kinder ihn nicht geben , -- accept ?
|
|
die Frau , der sie ihn nicht geben , -- accept
|
|
die Frau , der ihn die Kinder nicht geben , -- accept ?
|
|
|
|
die Frau , der es ihn gibt , -- accept
|
|
die Frau , der er ihn gibt , -- accept
|
|
die Frau , welcher es ihn gibt , -- accept
|
|
die Frau , welcher er ihn gibt , -- accept
|
|
|
|
-- using QuestSlash and Slash3V3
|
|
|
|
wem gibt das Kind den Apfel nicht -- accept
|
|
wem gibt ihn das Kind nicht -- accept
|
|
wem gibt das Kind ihn nicht -- reject, ?
|
|
wem gibt es den Apfel nicht -- accept
|
|
wem gibt es ihn nicht -- accept
|
|
wem gibt es nicht den Apfel -- accept , no_Quant
|
|
|
|
wen gibt es der Frau nicht -- accept
|
|
wen gibt es ihr Frau nicht -- accept
|
|
|
|
-- with dirV3 v gen = mkV3 v acc gen
|
|
|
|
ich klage die Männer des Biers an -- accept (v3fin < dNP.acc < dNP.gen)
|
|
ich klage ihn des Biers an -- accept
|
|
ich klage ihn einiger Biere an -- accept
|
|
ich klage des Biers ihn an -- reject (v3fin < NP.gen < Pron.acc)
|
|
ich klage einiger Biere ihn an -- reject (v3fin < NP.gen < Pron.acc)
|
|
|
|
ich klage die Männer des Biers nicht an -- accept (v3fin < dNP.acc < dNP.gen < neg )
|
|
ich klage die Männer nicht des Biers an -- accept (v3fin < dNP.acc < neg < dNP.gen) not_Predet
|
|
|
|
-- with mkV3 v acc acc
|
|
|
|
wir lehren ihn die Musik -- accept (pron.acc(indir) < np.acc(dir))
|
|
wir lehrten den Studenten den Grund -- accept (np.acc(indir) < np.acc(dir))
|
|
wir lehrten den Grund den Studenten -- reject (np.acc(dir) < np.acc(indir))
|
|
wir lehrten ihn den Grund -- accept
|
|
wir lehrten ihn die Studenten -- reject
|
|
wir lehrten ihn sie -- dubious (pron.acc(indir) < pron.acc(dir))
|
|
wir lehrten sie ihn -- dubious (pron.acc(dir) < pron.acc(indir)a)
|
|
|
|
-- with dirV3 v prep: (Main default order: vfin < acc < neg < prep < vinf)
|
|
|
|
wir erinnern den Jungen nicht an den Regen -- accept
|
|
wir erinnern den Jungen nicht an ihn -- accept (daran)
|
|
wir erinnern ihn nicht an ihn -- accept
|
|
wir haben den Jungen nicht an ihn erinnert -- accept
|
|
|
|
wir danken der Kuh für den Käse -- accept
|
|
wir danken der Kuh nicht für den Käse -- accept dubious
|
|
wir danken der Kuh nicht für ihn -- accept (dafür nicht ?)
|
|
wir danken ihr nicht für den Käse -- accept
|
|
wir danken ihr nicht für ihn -- accept
|
|
wir danken ihr nicht für ihn -- accept
|
|
|
|
-- with mkV3 v prep prep: (implemented Main order: vfin < neg < prep < prep)
|
|
-- sometimes better: vfin < prep < neg < prep)
|
|
|
|
wir reden mit der Frau über den Mann -- accept (Slash2V3)
|
|
wir reden mit der Frau über den Mann nicht -- accept (Slash2V3)
|
|
wir reden über den Mann mit der Frau -- accept (Slash3V3)
|
|
wir reden über den Mann mit der Frau nicht -- accept (Slash3V3)
|
|
|
|
wir reden mit ihr über ihn nicht -- accept
|
|
wir reden nicht mit ihr über ihn -- accept (not recognized)
|
|
|
|
|
|
-- Reflexive verbs, to test Pron.acc < refl < Pron.dat|gen, nonPronNP:
|
|
|
|
-- mkClause + PNeg gives (Main) "subj < vfin < refl < objs < neg < vinf",
|
|
-- but negation seems to come before prepositional objects.
|
|
|
|
-- rV: refl.acc
|
|
|
|
ihr ändert euch nicht -- accept (refl.acc < neg)
|
|
er wird sich nicht anstrengen -- accept
|
|
er hat sich nicht angestrengt -- accept
|
|
ihr ändert nicht euch -- reject (neg < refl.acc)
|
|
er wird sich anstrengen nicht -- reject
|
|
er hat nicht sich angestrengt -- reject
|
|
|
|
-- rV2: refl.acc + dat
|
|
|
|
du ergibst dich den Feinden nicht -- accept (refl.acc < np.dat < neg)
|
|
du ergibst dich nicht den Feinden -- accept (refl.acc < neg, no_Predet)
|
|
du ergibst dich mir nicht -- accept (refl.acc < pron.dat < neg)
|
|
|
|
-- rV2: refl.acc + gen
|
|
|
|
wir bedienen uns des Stockes -- accept
|
|
wir bedienen uns seiner -- accept
|
|
wir bedienen uns des Stockes nicht -- accept (refl.acc < np.gen < neg)
|
|
wir bedienen uns seiner nicht -- accept (refl.acc < pron.gen < neg)
|
|
|
|
-- rV2: refl.acc + prep
|
|
|
|
ich stütze mich nicht auf den Stock -- accept (refl.acc < neg < np.prep)
|
|
ich stütze mich auf den Stock nicht -- reject (refl.acc < np.prep < neg)
|
|
ich stütze mich nicht auf ihn -- accept (refl.acc < neg < pron.prep)
|
|
ich stütze mich auf ihn nicht -- reject (refl.acc < pron.prep < neg)
|
|
|
|
-- rV3: refl.acc + prep + prep
|
|
|
|
ich entschuldige mich bei dir für die Frage -- accept, Slash2V3
|
|
ich entschuldige mich bei dir für sie -- accept
|
|
ich entschuldige mich bei dir für die Frage nicht -- accept
|
|
ich entschuldige mich bei dir nicht für die Frage -- dubious (not recognized)
|
|
ich entschuldige mich nicht bei dir für die Frage -- accept (not recognized)
|
|
|
|
die Frage , für die ich mich bei ihr entschuldigte -- accept, Slash2V3
|
|
|
|
ich entschuldige mich für die Frage bei dir -- accept, Slash3V3
|
|
ich entschuldige mich für die Frage bei dir nicht -- accept, Slash3V3
|
|
die Frau , bei der ich mich für ihn nicht entschuldige -- accept, Slash3V3
|
|
die Frau , bei der ich mich nicht für ihn entschuldige -- accept, Slash3V3 (not recognized)
|
|
|
|
er hat sich bei mir für den Stock nicht entschuldigt -- accept
|
|
hast du dich bei ihm für den Stock nicht entschuldigt -- accept (not recognized)
|
|
hast du dich nicht bei ihm für den Stock entschuldigt -- accept Inv: vfin ++ subj ++ obj1 ++ neg ++ obj2
|
|
hast du dich bei ihm nicht für den Stock entschuldigt -- dubious
|
|
hast du dich bei ihm für ihn entschuldigt -- accept (refl.acc < prep1 < prep2), Slash2V3
|
|
hast du dich für ihn bei ihm entschuldigt -- accept (refl.acc < prep2 < prep1), Slash3V3
|
|
|
|
-- rV2: refl.dat + acc
|
|
|
|
ich merke mir jeden Stock -- accept
|
|
ich merke jeden Stock mir -- reject (np.acc < refl.dat)
|
|
ich merke ihn mir -- accept (pron.acc < refl.dat)
|
|
ich merke mir jeden Stock nicht -- accept (refl.dat < np.acc < neg)
|
|
ich merke mir nicht jeden Stock -- accept (refl.dat < neg < np.acc), not_Predet
|
|
ich hatte mir den Stock gemerkt -- accept (refl.dat < np.acc)
|
|
ich hatte mir ihn gemerkt -- reject (refl.dat < pron.acc)
|
|
ich hatte ihn mir gemerkt -- accept (pron.acc < refl.dat)
|
|
|
|
-- rV3: refl.dat + acc + prep
|
|
|
|
wir leihen uns das Buch von dir -- accept
|
|
wir leihen uns das Buch nicht von dir -- accept (refl.dat < np.acc < neg < prep), Slash2V3,Slash3V3
|
|
wir leihen uns das Buch von dir nicht -- dubious ?(refl.dat < np.acc < prep < neg), Slash2V3,Slash3V3
|
|
|
|
das Buch , das wir uns nicht von dir liehen , -- accept Slash3V3
|
|
das Buch , das wir uns von dir nicht liehen , -- dubious, Slash3V3
|
|
die Frau , von der wir uns das Buch nicht liehen , -- accept, Slash2V3
|
|
die Frau , von der wir uns kein Buch liehen , -- accept, Slash2V3
|
|
die Frau , von der wir es uns nicht liehen , -- accept (prep < subj < pron.acc < refl.dat < neg < vfin)
|
|
die Frau , von der wir uns es nicht liehen , -- reject *(prep < subj < refl.dat < pron.acc < neg < vfin)
|
|
|
|
wir , die wir uns das Buch von dir liehen , -- accept (not recognized)
|
|
wir , die sich das Buch von dir liehen , -- dubious (recognized, Slash2V3, Slash3V3)
|
|
wir , die sich das Buch nicht von dir liehen , -- dubious (recognized, Slash2V3, Slash3V3)
|
|
|
|
-- dirV4 v prep prep (mieten_von_fuer_V4)
|
|
|
|
du mietest den Wagen von der Frau für den Mann -- accept (Slash2V4,Slash3V4,ComplSlashSlash)
|
|
du mietest den Wagen für den Mann von der Frau -- accept (Slash4V4, ComplSlashSlash)
|
|
du mietest den Wagen von der Frau für den Mann nicht -- accept
|
|
du mietest den Wagen für den Mann von der Frau nicht -- accept (Slash4V4, ComplSlashSlash)
|
|
du mietest den Wagen von der Frau für mich nicht -- accept
|
|
du mietest den Wagen für mich von der Frau nicht -- dubious
|
|
du mietest ihn von der Frau für mich -- accept
|
|
du mietest den Wagen von ihr für mich nicht -- accept
|
|
du mietest ihn für mich von der Frau -- accept
|
|
du mietest ihn von ihr für mich -- accept
|
|
|
|
du mietest für mich von der Frau den Wagen -- accept (not recognized, order)
|
|
du mietest für mich von der Frau den Wagen nicht -- accept (not recognized, order)
|
|
du mietest für mich von ihr den Wagen -- dubious (not recognized, order)
|
|
|
|
-- predicative A2: neg + A2 + obj (via insertAdj; better: obj + neg + A2)
|
|
|
|
ich bin nicht verheiratet mit dieser Frau -- accept (A2 < obj)
|
|
ich bin nicht verheiratet mit ihr -- accept (A2 < obj)
|
|
ich bin nicht neugierig auf das Buch -- accept
|
|
ich bin nicht neugierig auf es -- accept
|
|
|
|
ich bin mit dieser Frau nicht verheiratet -- dubious (using ComplSlashPrep)
|
|
ich bin mit ihr nicht verheiratet -- dubious
|
|
ich bin auf das Buch nicht neugierig -- dubious
|
|
ich bin auf es nicht neugierig -- dubious (prep < A2)
|
|
|
|
ich bin nicht mit dieser Frau verheiratet -- accept (not recognized, order)
|
|
ich bin nicht mit ihr verheiratet -- accept (not recognized)
|
|
ich bin nicht auf ihn neugierig -- reject
|
|
|
|
-- done
|
|
|
|
-- Passive of VPSlash and V3
|
|
|
|
sie gibt uns den Wagen -- accept
|
|
|
|
der Wagen wird uns gegeben -- accept, via PassVPSlash or Pass2V3
|
|
uns wird der Wagen gegeben -- accept, word order variant (not recognized)
|
|
wir bekommen den Wagen gegeben -- accept, via Pass3V3
|
|
|
|
sie schickte uns den Wagen -- accept (Eng with prep)
|
|
|
|
der Wagen wurde uns geschickt -- accept, via PassVPSlash
|
|
uns wurde der Wagen geschickt -- accept, word order variant (not recognized)
|
|
wir bekamen den Wagen geschickt -- accept, via Pass3V3
|
|
|
|
der Wagen würde uns geschickt werden -- accept
|
|
der Wagen würde uns nicht geschickt werden -- accept
|
|
wir würden den Wagen geschickt bekommen -- accept
|
|
wir würden den Wagen nicht geschickt bekommen -- accept
|
|
wir würden nicht den Wagen geschickt bekommen -- accept ?
|
|
|
|
der Wagen sei uns geschickt worden -- accept
|
|
wir hätten den Wagen geschickt bekommen -- accept
|
|
|
|
wir wollen den Wagen geschickt bekommen -- accept
|
|
wir würden den Wagen geschickt bekommen wollen haben -- accept
|
|
|