diff options
| author | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
| commit | e89fdae2fa1626348d8025824a7469252fa85e42 (patch) | |
| tree | c7d46bbd0494043b4bd6f917a25a7687517d0547 /next-lib/src/german/MorphoGer.gf | |
| parent | 3049b59b35b25381a7c6787444165c200d66e08b (diff) | |
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'next-lib/src/german/MorphoGer.gf')
| -rw-r--r-- | next-lib/src/german/MorphoGer.gf | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/next-lib/src/german/MorphoGer.gf b/next-lib/src/german/MorphoGer.gf deleted file mode 100644 index c4c28fa1e..000000000 --- a/next-lib/src/german/MorphoGer.gf +++ /dev/null @@ -1,96 +0,0 @@ ---# -path=.:../common:../../prelude --- -----1 A Simple German Resource Morphology ----- ----- Aarne Ranta & Harald Hammarström 2002 -- 2006 ----- ----- This resource morphology contains definitions needed in the resource ----- syntax. To build a lexicon, it is better to use $ParadigmsGer$, which ----- gives a higher-level access to this module. --- -resource MorphoGer = ResGer ** open Prelude, (Predef=Predef) in { - - flags optimize=all ; - -oper - --- For $StructuralGer$. - - mkPrep : Str -> Case -> Preposition = \s,c -> - {s = s ; c = c} ; - - nameNounPhrase : {s : Case => Str} -> {s : Case => Str ; a : Agr} = \name -> - name ** {a = agrP3 Sg} ; - - detLikeAdj : Number -> Str -> - {s,sp : Gender => Case => Str ; n : Number ; a : Adjf} = \n,dies -> - {s,sp = appAdj (regA dies) ! n ; n = n ; a = Weak} ; - - mkOrd : {s : Degree => AForm => Str} -> {s : AForm => Str} = \a -> - {s = a.s ! Posit} ; - --- For $ParadigmsGer$. - - genitS : Str -> Str = \hund -> case hund of { - _ + ("el" | "en" | "er") => hund + "s" ; - _ + ("s" | "ß" | "sch" | "st" | "x" | "z") => hund + "es" ; - _ => hund + variants {"s" ; "es"} - } ; - pluralN : Str -> Str = \hund -> case hund of { - _ + ("el" | "er" | "e") => hund + "n" ; - _ + "en" => hund ; - _ => hund + "en" - } ; - dativE : Str -> Str = \hund -> case hund of { - _ + ("el" | "en" | "er" | "e") => hund ; - _ => variants {hund ; hund + "e"} - } ; - --- Duden, p. 119 - - verbT : Str -> Str = \v -> case v of { - _ + ("t" | "d") => v + "et" ; -- gründen, reden, betten - _ + ("ch" | "k" | "p" | "t" | "g" | "b" | "d" | "f" | "s") + - ("m" | "n") => v + "et" ; -- atmen, widmen, öffnen, rechnen - _ => v + "t" -- lernen, lärmen, qualmen etc - } ; - - verbST : Str -> Str = \v -> case v of { - _ + ("s" | "ss" | "ß" | "sch" | "x" | "z") => v + "t" ; - _ => v + "st" - } ; - - stemVerb : Str -> Str = \v -> case v of { - _ + ("rn" | "ln") => init v ; - _ => Predef.tk 2 v - } ; - --- For $Numeral$. - - LinDigit = {s : DForm => CardOrd => Str} ; - - cardOrd : Str -> Str -> CardOrd => Str = \drei,dritte -> - table { - NCard _ _ => drei ; - NOrd a => (regA (init dritte)).s ! Posit ! a - } ; - - cardReg : Str -> CardOrd => Str = \zehn -> - cardOrd zehn (zehn + "te") ; - - mkDigit : (x1,_,_,x4 : Str) -> LinDigit = - \drei,dreizehn,dreissig,dritte -> - {s = table { - DUnit => cardOrd drei dritte ; - DTeen => cardReg dreizehn ; - DTen => cardOrd dreissig (dreissig + "ste") - } - } ; - - regDigit : Str -> LinDigit = \vier -> - mkDigit vier (vier + "zehn") (vier + "zig") (vier + "te") ; - - invNum : CardOrd = NCard Masc Nom ; - -} ; - |
