mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
Overloaded mkV for German.
This commit is contained in:
@@ -149,6 +149,11 @@ oper
|
|||||||
|
|
||||||
--2 Verbs
|
--2 Verbs
|
||||||
|
|
||||||
|
mkV : overload {
|
||||||
|
-- Weak verbs are sometimes called regular verbs.
|
||||||
|
mkV : Str -> V ; -- führen
|
||||||
|
-- Irregular verbs use Ablaut and, in the worst cases, also Umlaut.
|
||||||
|
mkV : (x1,_,_,_,x5 : Str) -> V ; -- sehen, sieht, sah, sähe, gesehen
|
||||||
-- The worst-case constructor needs six forms:
|
-- The worst-case constructor needs six forms:
|
||||||
-- - Infinitive,
|
-- - Infinitive,
|
||||||
-- - 3p sg pres. indicative,
|
-- - 3p sg pres. indicative,
|
||||||
@@ -156,26 +161,18 @@ oper
|
|||||||
-- - 1/3p sg imperfect indicative,
|
-- - 1/3p sg imperfect indicative,
|
||||||
-- - 1/3p sg imperfect subjunctive (because this uncommon form can have umlaut)
|
-- - 1/3p sg imperfect subjunctive (because this uncommon form can have umlaut)
|
||||||
-- - the perfect participle
|
-- - the perfect participle
|
||||||
--
|
|
||||||
--
|
|
||||||
mkV : (x1,_,_,_,_,x6 : Str) -> V ; -- geben, gibt, gib, gab, gäbe, gegeben
|
mkV : (x1,_,_,_,_,x6 : Str) -> V ; -- geben, gibt, gib, gab, gäbe, gegeben
|
||||||
|
-- To add a movable suffix e.g. "auf(fassen)".
|
||||||
|
mkV : Str -> V -> V
|
||||||
|
};
|
||||||
|
|
||||||
-- Weak verbs are sometimes called regular verbs.
|
|
||||||
|
|
||||||
regV : Str -> V ; -- führen
|
|
||||||
|
|
||||||
-- Irregular verbs use Ablaut and, in the worst cases, also Umlaut.
|
|
||||||
|
|
||||||
irregV : (x1,_,_,_,x5 : Str) -> V ; -- sehen, sieht, sah, sähe, gesehen
|
|
||||||
|
|
||||||
-- To remove the past participle prefix "ge", e.g. for the verbs
|
-- To remove the past participle prefix "ge", e.g. for the verbs
|
||||||
-- prefixed by "be-, ver-".
|
-- prefixed by "be-, ver-".
|
||||||
|
|
||||||
no_geV : V -> V ;
|
no_geV : V -> V ;
|
||||||
|
|
||||||
-- To add a movable suffix e.g. "auf(fassen)".
|
|
||||||
|
|
||||||
prefixV : Str -> V -> V ;
|
|
||||||
|
|
||||||
-- To change the auxiliary from "haben" (default) to "sein" and
|
-- To change the auxiliary from "haben" (default) to "sein" and
|
||||||
-- vice-versa.
|
-- vice-versa.
|
||||||
@@ -325,7 +322,7 @@ oper
|
|||||||
von_Prep = mkPrep "von" dative ;
|
von_Prep = mkPrep "von" dative ;
|
||||||
zu_Prep = mkPrep "zu" dative ;
|
zu_Prep = mkPrep "zu" dative ;
|
||||||
|
|
||||||
mkV geben gibt gib gab gaebe gegeben =
|
mk6V geben gibt gib gab gaebe gegeben =
|
||||||
let
|
let
|
||||||
geb = stemVerb geben ;
|
geb = stemVerb geben ;
|
||||||
gebe = geb + "e" ;
|
gebe = geb + "e" ;
|
||||||
@@ -346,13 +343,13 @@ oper
|
|||||||
fragte = fragt + "e" ;
|
fragte = fragt + "e" ;
|
||||||
gefragt = "ge" + fragt ;
|
gefragt = "ge" + fragt ;
|
||||||
in
|
in
|
||||||
mkV fragen fragt (frag + "e") fragte fragte gefragt ;
|
mk6V fragen fragt (frag + "e") fragte fragte gefragt ;
|
||||||
|
|
||||||
irregV singen singt sang saenge gesungen =
|
irregV singen singt sang saenge gesungen =
|
||||||
let
|
let
|
||||||
sing = stemVerb singen ;
|
sing = stemVerb singen ;
|
||||||
in
|
in
|
||||||
mkV singen singt sing sang saenge gesungen ;
|
mk6V singen singt sing sang saenge gesungen ;
|
||||||
|
|
||||||
prefixV p v = MorphoGer.prefixV p v ** {lock_V = v.lock_V} ;
|
prefixV p v = MorphoGer.prefixV p v ** {lock_V = v.lock_V} ;
|
||||||
|
|
||||||
@@ -404,4 +401,20 @@ oper
|
|||||||
mkAV v = v ** {lock_A = <>} ;
|
mkAV v = v ** {lock_A = <>} ;
|
||||||
mkA2V v p = mkA2 v p ** {lock_A2 = <>} ;
|
mkA2V v p = mkA2 v p ** {lock_A2 = <>} ;
|
||||||
|
|
||||||
|
-- pre-overload API and overload definitions
|
||||||
|
|
||||||
|
regV : Str -> V ;
|
||||||
|
irregV : (x1,_,_,_,x5 : Str) -> V ;
|
||||||
|
mk6V : (x1,_,_,_,_,x6 : Str) -> V ;
|
||||||
|
|
||||||
|
prefixV : Str -> V -> V ;
|
||||||
|
|
||||||
|
mkV = overload {
|
||||||
|
mkV : Str -> V = regV ;
|
||||||
|
mkV : (x1,_,_,_,x5 : Str) -> V = irregV ;
|
||||||
|
mkV : (x1,_,_,_,_,x6 : Str) -> V = mk6V ;
|
||||||
|
mkV : Str -> V -> V = prefixV
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user