forked from GitHub/gf-core
Overloaded German mkA.
This commit is contained in:
@@ -105,14 +105,13 @@ mkN : overload {
|
|||||||
|
|
||||||
--2 Adjectives
|
--2 Adjectives
|
||||||
|
|
||||||
-- Adjectives need three forms, one for each degree.
|
mkA : overload {
|
||||||
|
|
||||||
mkA : (x1,_,x3 : Str) -> A ; -- gut,besser,beste
|
|
||||||
|
|
||||||
-- The regular adjective formation works for most cases, and includes
|
-- The regular adjective formation works for most cases, and includes
|
||||||
-- variations such as "teuer - teurer", "böse - böser".
|
-- variations such as "teuer - teurer", "böse - böser".
|
||||||
|
mkA : Str -> A ;
|
||||||
regA : Str -> A ;
|
-- Adjectives need three forms, one for each degree.
|
||||||
|
mkA : (gut,besser,beste : Str) -> A -- gut,besser,beste
|
||||||
|
};
|
||||||
|
|
||||||
-- Invariable adjective are a special case.
|
-- Invariable adjective are a special case.
|
||||||
|
|
||||||
@@ -294,7 +293,7 @@ mkV : overload {
|
|||||||
regPN = \horst ->
|
regPN = \horst ->
|
||||||
mkPN horst (ifTok Tok (Predef.dp 1 horst) "s" horst (horst + "s")) ;
|
mkPN horst (ifTok Tok (Predef.dp 1 horst) "s" horst (horst + "s")) ;
|
||||||
|
|
||||||
mkA : (x1,_,x3 : Str) -> A = \a,b,c ->
|
mk3A : (gut,besser,beste : Str) -> A = \a,b,c ->
|
||||||
let aa : Str = case a of {
|
let aa : Str = case a of {
|
||||||
teu + "er" => teu + "r" ;
|
teu + "er" => teu + "r" ;
|
||||||
mud + "e" => mud ;
|
mud + "e" => mud ;
|
||||||
@@ -303,9 +302,9 @@ mkV : overload {
|
|||||||
MorphoGer.mkA a aa b (init c) ** {lock_A = <>} ;
|
MorphoGer.mkA a aa b (init c) ** {lock_A = <>} ;
|
||||||
|
|
||||||
regA : Str -> A = \a -> case a of {
|
regA : Str -> A = \a -> case a of {
|
||||||
teu + "er" => mkA a (teu + "rer") (teu + "reste") ;
|
teu + "er" => mk3A a (teu + "rer") (teu + "reste") ;
|
||||||
_ + "e" => mkA a (a + "r") (a + "ste") ;
|
_ + "e" => mk3A a (a + "r") (a + "ste") ;
|
||||||
_ => mkA a (a + "er") (a + "este")
|
_ => mk3A a (a + "er") (a + "este")
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
invarA = \s -> {s = \\_,_ => s ; lock_A = <>} ; ---- comparison
|
invarA = \s -> {s = \\_,_ => s ; lock_A = <>} ; ---- comparison
|
||||||
@@ -413,6 +412,17 @@ mkV : overload {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
regA : Str -> A ;
|
||||||
|
mk3A : (gut,besser,beste : Str) -> A ;
|
||||||
|
|
||||||
|
mkA = overload {
|
||||||
|
mkA : Str -> A = regA ;
|
||||||
|
mkA : (gut,besser,beste : Str) -> A = mk3A
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
regV : Str -> V ;
|
regV : Str -> V ;
|
||||||
irregV : (x1,_,_,_,x5 : Str) -> V ;
|
irregV : (x1,_,_,_,x5 : Str) -> V ;
|
||||||
mk6V : (x1,_,_,_,_,x6 : Str) -> V ;
|
mk6V : (x1,_,_,_,_,x6 : Str) -> V ;
|
||||||
|
|||||||
Reference in New Issue
Block a user