mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
German Dict and Paradigms: added a case to mkN and removed bogus "e" plurals
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -79,6 +79,8 @@ mkN : overload {
|
|||||||
|
|
||||||
mkN : (Bild,Bilder : Str) -> Gender -> N ; -- sg and pl nom, and gender
|
mkN : (Bild,Bilder : Str) -> Gender -> N ; -- sg and pl nom, and gender
|
||||||
|
|
||||||
|
mkN : (Frau : Str) -> Gender -> N ; -- masc: e, neutr: er, fem: en
|
||||||
|
|
||||||
-- Worst case: give all four singular forms, two plural forms (others + dative),
|
-- Worst case: give all four singular forms, two plural forms (others + dative),
|
||||||
-- and the gender.
|
-- and the gender.
|
||||||
|
|
||||||
@@ -354,6 +356,29 @@ mkV2 : overload {
|
|||||||
_ => mk6N hund hund hund (genitS (True | False) hund) (hund + "e") (pluralN hund) Masc
|
_ => mk6N hund hund hund (genitS (True | False) hund) (hund + "e") (pluralN hund) Masc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
reg1N : (x1 : Str) -> Gender -> N = \hund,g ->
|
||||||
|
case <hund,g> of {
|
||||||
|
<_ + ("el"|"er"|"en"), Masc | Neutr> =>
|
||||||
|
let hunde = hund ; hunden = pluralN hunde in
|
||||||
|
mk6N hund hund hund (genitS (True | False) hund) hunde hunden g ;
|
||||||
|
<_ + "e", Masc> =>
|
||||||
|
let hunde = hund + "n" in
|
||||||
|
mk6N hund hunde hunde hunde hunde hunde g ;
|
||||||
|
<_, Masc> =>
|
||||||
|
let hunde = hund + "e" ; hunden = pluralN hunde in
|
||||||
|
variants {mk6N hund hund (dativE True hund) (genitS True hund) hunde hunden g ;
|
||||||
|
mk6N hund hund (dativE False hund) (genitS False hund) hunde hunden g} ;
|
||||||
|
<_, Neutr> =>
|
||||||
|
let hunde = hund + "er" ; hunden = pluralN hunde in
|
||||||
|
variants {mk6N hund hund (dativE True hund) (genitS True hund) hunde hunden g ;
|
||||||
|
mk6N hund hund (dativE False hund) (genitS False hund) hunde hunden g} ;
|
||||||
|
<_, Fem> =>
|
||||||
|
let hunde : Str = case hund of {_ + "e" => hund + "n" ; _ => hund + "en"} ;
|
||||||
|
hunden = hunde
|
||||||
|
in mk6N hund hund hund hund hunde hunden g ;
|
||||||
|
_ => {s = (regN hund).s ; g = g ; lock_N = <>}
|
||||||
|
} ;
|
||||||
|
|
||||||
reg2N : (x1,x2 : Str) -> Gender -> N = \hund,hunde,g ->
|
reg2N : (x1,x2 : Str) -> Gender -> N = \hund,hunde,g ->
|
||||||
let hunden = pluralN hunde
|
let hunden = pluralN hunde
|
||||||
in
|
in
|
||||||
@@ -568,6 +593,7 @@ mkV2 : overload {
|
|||||||
|
|
||||||
mkN = overload {
|
mkN = overload {
|
||||||
mkN : Str -> N = regN ;
|
mkN : Str -> N = regN ;
|
||||||
|
mkN : (x1 : Str) -> Gender -> N = reg1N ;
|
||||||
mkN : (x1,x2 : Str) -> Gender -> N = reg2N ;
|
mkN : (x1,x2 : Str) -> Gender -> N = reg2N ;
|
||||||
mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N = mk6N ;
|
mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N = mk6N ;
|
||||||
mkN : Str -> N -> N -- Auto + Fahrer -> Autofahrer
|
mkN : Str -> N -> N -- Auto + Fahrer -> Autofahrer
|
||||||
|
|||||||
Reference in New Issue
Block a user