From 62e687869ea3b3b0df1c8bc0e5a28d5429a405e3 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 23 Aug 2010 07:43:58 +0000 Subject: [PATCH] German and Dutch adjectives with -er corrected --- lib/src/api/Combinators.gf | 12 ++++++------ lib/src/demo/DemoEng.gf | 22 +++++++++++++++++++++- lib/src/demo/DemoSwe.gf | 22 +++++++++++++++++++++- lib/src/dutch/ResDut.gf | 1 + lib/src/german/ParadigmsGer.gf | 6 ++++-- 5 files changed, 53 insertions(+), 10 deletions(-) diff --git a/lib/src/api/Combinators.gf b/lib/src/api/Combinators.gf index e85b25613..b87f7304f 100644 --- a/lib/src/api/Combinators.gf +++ b/lib/src/api/Combinators.gf @@ -29,13 +29,13 @@ incomplete resource Combinators = open Cat, Structural, Constructors in { --2 Function application - app : overload { - app : N -> NP ; - app : N2 -> NP -> NP ; - app : N3 -> NP -> NP -> NP ; - app : N2 -> NP -> NP -> NP ; - app : N2 -> N -> CN ; + app : overload { + app : N -> NP ; -- the bottom + app : N2 -> NP -> NP ; -- the successor of x + app : N3 -> NP -> NP -> NP ; -- the distance from x to y + app : N2 -> NP -> NP -> NP ; -- the sum of x and y + app : N2 -> N -> CN ; -- set of integers app : N2 -> NP -> CN ; -- divisor of x app : N3 -> NP -> NP -> CN ; -- path from x to y app : N2 -> NP -> NP -> CN ; -- path between x and y diff --git a/lib/src/demo/DemoEng.gf b/lib/src/demo/DemoEng.gf index 540ec3122..27415a92c 100644 --- a/lib/src/demo/DemoEng.gf +++ b/lib/src/demo/DemoEng.gf @@ -1,6 +1,26 @@ --# -path=.:alltenses -concrete DemoEng of Demo = LangEng ** +concrete DemoEng of Demo = LangEng - [ + PredetNP, PPartNP, AdvNP, RelNP, DetNP, DetQuantOrd, + NumDigits, AdNum, OrdDigits, OrdNumeral, OrdSuperl, MassNP, + ComplN2, ComplN3, UseN2, Use2N3, Use3N3, AdjCN, RelCN, + AdvCN, SentCN, ApposCN, + PassV2, CompAdv, + -- CompNP, + SlashV2V, SlashV2VNP, --- + ComparA, ComplA2, ReflA2, UseA2, UseComparA, CAdvAP, AdjOrd, SentAP, AdAP, + PredSCVP, AdvSlash, SlashPrep, SlashVS, + EmbedS, EmbedQS, EmbedVP, UseSlash, AdvS, RelS, + CompIP, + PConjConj, VocNP, UttVP, + FunRP, + nothing_NP, nobody_NP, please_Voc, otherwise_PConj, therefore_PConj, but_PConj, + language_title_Utt, whatPl_IP, whoPl_IP, if_then_Conj, either7or_DConj, + both7and_DConj, much_Det, that_Subj, no_Quant, + ImpersCl, GenericCl, CleftNP, CleftAdv, ProgrVP, ImpPl1, ImpP3, + -- ExistNP, --- + ConsNP, ConsAdv, ConsS, ConsRS, ConsAP + ] ** open LangEng in { lin diff --git a/lib/src/demo/DemoSwe.gf b/lib/src/demo/DemoSwe.gf index c806f0306..af48e5384 100644 --- a/lib/src/demo/DemoSwe.gf +++ b/lib/src/demo/DemoSwe.gf @@ -1,6 +1,26 @@ --# -path=.:alltenses -concrete DemoSwe of Demo = LangSwe ** +concrete DemoSwe of Demo = LangSwe - [ + PredetNP, PPartNP, AdvNP, RelNP, DetNP, DetQuantOrd, + NumDigits, AdNum, OrdDigits, OrdNumeral, OrdSuperl, MassNP, + ComplN2, ComplN3, UseN2, Use2N3, Use3N3, AdjCN, RelCN, + AdvCN, SentCN, ApposCN, + PassV2, CompAdv, + -- CompNP, + SlashV2V, SlashV2VNP, --- + ComparA, ComplA2, ReflA2, UseA2, UseComparA, CAdvAP, AdjOrd, SentAP, AdAP, + PredSCVP, AdvSlash, SlashPrep, SlashVS, + EmbedS, EmbedQS, EmbedVP, UseSlash, AdvS, RelS, + CompIP, + PConjConj, VocNP, UttVP, + FunRP, + nothing_NP, nobody_NP, please_Voc, otherwise_PConj, therefore_PConj, but_PConj, + language_title_Utt, whatPl_IP, whoPl_IP, if_then_Conj, either7or_DConj, + both7and_DConj, much_Det, that_Subj, no_Quant, + ImpersCl, GenericCl, CleftNP, CleftAdv, ProgrVP, ImpPl1, ImpP3, + -- ExistNP, --- + ConsNP, ConsAdv, ConsS, ConsRS, ConsAP + ] ** open LangSwe in { lin diff --git a/lib/src/dutch/ResDut.gf b/lib/src/dutch/ResDut.gf index c841ac466..25a7a0ece 100644 --- a/lib/src/dutch/ResDut.gf +++ b/lib/src/dutch/ResDut.gf @@ -82,6 +82,7 @@ resource ResDut = ParamX ** open Prelude in { regAdjective : Str -> Adjective = \s -> ---- let se : Str = case s of { + _ + "er" => s + "e" ; ---- _ + ("i"|"u") => endCons s + "e" ; b + v@("aa"|"ee"|"oo"|"uu") + c@? => b + shortVoc v c + "e" ; b + ("ei"|"eu"|"oe"|"ou"|"ie"|"ij"|"ui") + ? => endCons s + "e" ; diff --git a/lib/src/german/ParadigmsGer.gf b/lib/src/german/ParadigmsGer.gf index 859eae270..3602e54c2 100644 --- a/lib/src/german/ParadigmsGer.gf +++ b/lib/src/german/ParadigmsGer.gf @@ -374,7 +374,8 @@ mkV2 : overload { mk3A : (gut,besser,beste : Str) -> A = \a,b,c -> let aa : Str = case a of { - teu + "er" => teu + "r" ; + dunk + "el" => dunk + "l" ; + te + "uer" => te + "ur" ; mud + "e" => mud ; _ => a } in @@ -383,7 +384,8 @@ mkV2 : overload { MorphoGer.mkA a aa b (init c) ** {lock_A = <>} ; regA : Str -> A = \a -> case a of { - teu + "er" => mk3A a (teu + "rer") (teu + "reste") ; + dunk + "el" => mk3A a (dunk + "ler") (dunk + "leste") ; + te + "uer" => mk3A a (te + "urer") (te + "ureste") ; _ + "e" => mk3A a (a + "r") (a + "ste") ; _ + ("t" | "d" | "s" | "sch" | "z") => mk3A a (a + "er") (a + "este") ; _ => mk3A a (a + "er") (a + "ste")