mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 01:52:50 -06:00
Finished Finnish and German.
This commit is contained in:
@@ -18,7 +18,8 @@
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
resource Paradigms = open (Predef=Predef), Prelude, (Morpho=Morpho), Syntax, Deutsch in {
|
||||
resource ParadigmsGer = open (Predef=Predef), Prelude,
|
||||
(Morpho=MorphoGer), SyntaxGer, ResourceGer in {
|
||||
|
||||
|
||||
--2 Parameters
|
||||
@@ -304,7 +305,7 @@ oper
|
||||
mkV3 v s c t d = mkDitransVerb v s c t d ** {lock_V3 = <>} ;
|
||||
|
||||
mkAdV a = ss a ** {lock_AdV = <>} ;
|
||||
mkPP x y z = prepPhrase x y z ** {lock_AdV = <>};
|
||||
mkPP x y = PrepNP {s = y ; c = x ; lock_Prep = <>} ;
|
||||
mkAdA a = ss a ** {lock_AdA = <>} ;
|
||||
mkAdS a = ss a ** {lock_AdS = <>} ;
|
||||
} ;
|
||||
|
||||
3
lib/resource-0.6/german/ResourceGer.gf
Normal file
3
lib/resource-0.6/german/ResourceGer.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
resource ResourceGer = reuse StructuralGer ;
|
||||
@@ -33,13 +33,30 @@ lin
|
||||
ItNP = pronNounPhrase pronEs ;
|
||||
ThisNP = nameNounPhrase {s = dieserDet.s ! Neut} ; ---
|
||||
ThatNP = nameNounPhrase {s = jenerDet.s ! Neut} ; ---
|
||||
TheseNP nu = let diese = caselist "diese" "diese" "diesen" "diesen" in
|
||||
normalNounPhrase (\\c => diese ! c ++ nu.s) plural ;
|
||||
ThoseNP nu = let jene = caselist "jene" "jene" "jenen" "jenen" in
|
||||
normalNounPhrase (\\c => jene ! c ++ nu.s) plural ;
|
||||
|
||||
AnyDet = detLikeAdj "irgendwelch" ;
|
||||
AnysDet nu = mkDeterminerNumReg nu "irgendwelche" Weak ;
|
||||
EveryDet = jederDet ;
|
||||
AllDet = allesDet ;
|
||||
AllsDet = alleDet ;
|
||||
WhichDet = welcherDet ;
|
||||
WhichsDet = welcheDet ;
|
||||
MostDet = meistDet ;
|
||||
MostsDet = meisteDet ;
|
||||
ManyDet = mkDeterminerPl (caselist "viele" "viele" "vielen" "vieler") Strong ;
|
||||
MuchDet = detLikeAdj "viel" ;
|
||||
NoDet = keinDet ;
|
||||
NosDet nu = mkDeterminerNumReg nu "keine" Strong ;
|
||||
SomeDet = einDet ; ---
|
||||
SomesDet nu = mkDeterminerNumReg nu "einige" Strong ;
|
||||
ThatDet = detLikeAdj "jen" ;
|
||||
ThisDet = detLikeAdj "dies" ;
|
||||
TheseDet nu = mkDeterminerNumReg nu "diese" Strong ;
|
||||
ThoseDet nu = mkDeterminerNumReg nu "jene" Strong ;
|
||||
|
||||
HowIAdv = ss "wie" ;
|
||||
WhenIAdv = ss "wann" ;
|
||||
@@ -62,6 +79,16 @@ lin
|
||||
OtherwiseAdv = ss "sonst" ;
|
||||
ThereforeAdv = ss "deshalb" ;
|
||||
|
||||
EverybodyNP = nameNounPhrase
|
||||
{s = caselist "jeder" "jeden" "jedem" "jedes"} ;
|
||||
SomebodyNP = nameNounPhrase
|
||||
{s = caselist "jemand" "jemanden" "jemandem" "jemands"} ;
|
||||
NobodyNP = nameNounPhrase
|
||||
{s = caselist "niemand" "niemanden" "niemandem" "niemands"} ;
|
||||
EverythingNP = nameNounPhrase
|
||||
{s = caselist "alles" "alles" "allem" "alles"} ;
|
||||
SomethingNP = nameNounPhrase {s = \\_ => "etwas"} ;
|
||||
NothingNP = nameNounPhrase {s = \\_ => "nichts"} ;
|
||||
|
||||
|
||||
CanVV =
|
||||
|
||||
@@ -142,6 +142,8 @@ oper
|
||||
|
||||
mkDeterminerNum : Numeral -> DetPl -> Adjf -> Determiner = \nu,alle,a ->
|
||||
{s = \\_,c => alle ! c ++ nu.s ; n = Pl ; a = a} ;
|
||||
mkDeterminerNumReg : Numeral -> Str -> Adjf -> Determiner = \nu,alle,a ->
|
||||
mkDeterminerNum nu (caselist alle alle (alle + "n") (alle + "n")) a ;
|
||||
|
||||
detLikeAdj : Str -> Determiner = \jed -> mkDeterminerSg
|
||||
(\\g,c => (adjReg jed).s ! AMod Strong (GSg g) c) Weak ;
|
||||
@@ -153,11 +155,15 @@ oper
|
||||
alleDet : Numeral -> Determiner = \n ->
|
||||
mkDeterminerNum n (caselist "alle" "alle" "allen" "aller") Weak ;
|
||||
einDet = mkDeterminerSg artIndef Strong ;
|
||||
keinDet = mkDeterminerSg (\\g,c => "k" + artIndef ! g ! c) Strong ;
|
||||
derDet = mkDeterminerSg (table {g => artDef ! GSg g}) Weak ;
|
||||
dieDet : Numeral -> Determiner = \nu ->
|
||||
mkDeterminerNum nu (artDef ! GPl) Weak ;
|
||||
|
||||
meistDet = mkDeterminerPl (table {c => artDef ! GPl ! c ++ "meisten"}) Weak ;
|
||||
meistDet = mkDeterminerSg
|
||||
(\\g,c => artDef ! GSg g ! c ++ (adjReg "meist").s ! AMod Weak (GSg g) c) Weak ;
|
||||
meisteDet = mkDeterminerPl
|
||||
(\\c => artDef ! GPl ! c ++ "meisten") Weak ;
|
||||
welcherDet = detLikeAdj "welch" ;
|
||||
welcheDet : Numeral -> Determiner = \n ->
|
||||
mkDeterminerNum n (caselist "welche" "welche" "welchen" "welcher") Weak ;
|
||||
|
||||
Reference in New Issue
Block a user