From c8b82e40a31375e9e862b71853d4c9afc800a51f Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 12 Jun 2014 08:00:49 +0000 Subject: [PATCH] Dutch morphology and documentation table fixes --- lib/src/dutch/DocumentationDutFunctor.gf | 17 +++++++++------- lib/src/dutch/LexiconDut.gf | 2 +- lib/src/dutch/ResDut.gf | 26 +++++++++++++++++------- lib/src/dutch/TerminologyDut.gf | 1 + 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/lib/src/dutch/DocumentationDutFunctor.gf b/lib/src/dutch/DocumentationDutFunctor.gf index 31e1d0e60..1e1e2644c 100644 --- a/lib/src/dutch/DocumentationDutFunctor.gf +++ b/lib/src/dutch/DocumentationDutFunctor.gf @@ -40,14 +40,16 @@ lin gforms : AForm -> Str = \a -> td (adj.s ! Posit ! a) ++ td (adj.s ! Compar ! a) ++ - td (adj.s ! Superl ! a) ; - + case a of { + AGen => td "-" ; -- superlative partitive not used + _ => td (adj.s ! Superl ! a) + } ; dtable : Str = frameTable ( tr (th [] ++ th (heading positive_Parameter) ++ th (heading comparative_Parameter) ++ th (heading superlative_Parameter)) ++ tr (th (heading predicative_Parameter) ++ gforms APred) ++ - tr (th (heading attributive_Parameter) ++ gforms APred) ++ + tr (th (heading attributive_Parameter) ++ gforms AAttr) ++ tr (th (heading partitive_Parameter) ++ gforms AGen) ) in { t = "a" ; @@ -165,11 +167,12 @@ oper ++ td (vfin VPastPl) --# notpresent )) ++ frameTable ( - tr (th (heading imperative_Parameter ++ "Sg.2") ++ td (vfin VImp2)) ++ - tr (th (heading imperative_Parameter ++ "Sg.3") ++ td (vfin VImp3)) ++ - tr (th (heading imperative_Parameter ++ "Pl.2") ++ td (vfin (VImpPl))) ++ + tr (th (heading imperative_Parameter ++ heading singular_Parameter) ++ td (vfin VImp2 ++ Predef.BIND ++ "," ++ vfin VImp3)) ++ + tr (th (heading imperative_Parameter ++ heading plural_Parameter) ++ td (vfin (VImpPl))) ++ tr (th (heading infinitive_Parameter) ++ td (verb.s ! VInf)) ++ - tr (th (heading perfect_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPerf)) ++ + tr (th (heading past_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPerf)) ++ + tr (th (heading present_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPresPart)) ++ + tr (th (heading gerund_Parameter) ++ td (verb.s ! VGer)) ++ tr (th (heading aux_verb_Parameter) ++ td (case verb.aux of {VHebben => "hebben" ; VZijn => "zijn"})) ) ; diff --git a/lib/src/dutch/LexiconDut.gf b/lib/src/dutch/LexiconDut.gf index bdf9eee1b..251aed71e 100644 --- a/lib/src/dutch/LexiconDut.gf +++ b/lib/src/dutch/LexiconDut.gf @@ -28,7 +28,7 @@ lin brown_A = mkA "bruin" ; buy_V2 = mkV2 (mkV "kopen" "kocht" "gekocht") ; child_N = mkN "kind" "kinderen" neuter ; - come_V = zijnV (mkV "kom" "komt" "komen" "kwam" "kwame" "gekomen") ; + come_V = zijnV (mkV "kom" "komt" "komen" "kwam" "kwamen" "gekomen") ; die_V = zijnV (mkV "sterven" "stierf" "gestorven") ; distance_N3 = mkN3 (mkN "afstand") van_Prep (mkPrep "naar") ; drink_V2 = mkV2 drinken_V ; diff --git a/lib/src/dutch/ResDut.gf b/lib/src/dutch/ResDut.gf index 004623f10..49be6e1ed 100644 --- a/lib/src/dutch/ResDut.gf +++ b/lib/src/dutch/ResDut.gf @@ -76,8 +76,8 @@ resource ResDut = ParamX ** open Prelude in { mkAdjective : (_,_,_,_,_ : Str) -> Adjective = \ap,aa,ag,ac,as -> { s = table { Posit => table {APred => ap ; AAttr => aa ; AGen => ag} ; - Compar => table {APred => ac ; AAttr => ac + "e" ; AGen => ac + "es"} ; ---- - Superl => table {APred => as ; AAttr => as + "e" ; AGen => as + "es"} ---- + Compar => table {APred => ac ; AAttr => ac + "e" ; AGen => ac + "s"} ; ---- + Superl => table {APred => as ; AAttr => as + "e" ; AGen => as + "s"} ---- } } ; regAdjective : Str -> Adjective = \s -> ---- @@ -114,6 +114,8 @@ resource ResDut = ParamX ** open Prelude in { | VImp3 -- weest | VImpPl -- wezen | VPerf -- geweest + | VPresPart -- zijnde + | VGer -- zijnde ; VPart = VPart_aan | VPart_af | VPart_be ; @@ -129,7 +131,9 @@ resource ResDut = ParamX ** open Prelude in { VPresSg2 | VPresSg3 | VImp3 => aait; -- jij aait VPastSg => aaide; -- ik aaide --# notpresent VPastPl => aaiden; -- hij/zij/het/wij aaiden --# notpresent - VPerf => geaaid -- ik heb geaaid + VPerf => geaaid ; -- ik heb geaaid + VPresPart => aaien + "de" ; + VGer => aaien + "d" } }; @@ -287,7 +291,9 @@ resource ResDut = ParamX ** open Prelude in { VImp2 => "wees" ; VImp3 => "weest" ; VImpPl => "wezen" ; - VPerf => "geweest" + VPerf => "geweest" ; + VPresPart => "zijnde" ; + VGer => "wezend" } ; aux = VZijn ; prefix = [] ; @@ -306,7 +312,9 @@ resource ResDut = ParamX ** open Prelude in { VImp2 => "heb" ; VImp3 => "heeft" ; VImpPl => "hebben" ; - VPerf => "gehad" + VPerf => "gehad" ; + VPresPart => "hebbende" ; + VGer => "hebbend" } ; aux = VHebben ; prefix = [] ; @@ -325,7 +333,9 @@ resource ResDut = ParamX ** open Prelude in { VImp2 => "zoud" ; ---- not used VImp3 => "zoudt" ; VImpPl => "zouden" ; ---- - VPerf => "gezoudt" + VPerf => "gezoudt" ; + VPresPart => "zullende" ; + VGer => "zullend" } ; aux = VHebben ; prefix = [] ; @@ -344,7 +354,9 @@ resource ResDut = ParamX ** open Prelude in { VImp2 => "kan" ; ---- not used VImp3 => "kant" ; VImpPl => "kunnen" ; ---- - VPerf => "gekund" + VPerf => "gekund" ; + VPresPart => "kunnende" ; + VGer => "kunnend" } ; aux = VHebben ; prefix = [] ; diff --git a/lib/src/dutch/TerminologyDut.gf b/lib/src/dutch/TerminologyDut.gf index 6baa68cc8..908a2fb41 100644 --- a/lib/src/dutch/TerminologyDut.gf +++ b/lib/src/dutch/TerminologyDut.gf @@ -53,6 +53,7 @@ lin participle_Parameter = mkN "deelwoord" ; aux_verb_Parameter = mkN "hulpwerkwoord" ; + gerund_Parameter = mkN "gerundivum" ; positive_Parameter = mkN "stellend" ; comparative_Parameter = mkN "vergrotend" ;