forked from GitHub/gf-rgl
(Dut) Fix ordinals and superlatives
This commit is contained in:
@@ -50,7 +50,8 @@ lin
|
|||||||
tr (th [] ++ th (heading positive_Parameter) ++ th (heading comparative_Parameter) ++
|
tr (th [] ++ th (heading positive_Parameter) ++ th (heading comparative_Parameter) ++
|
||||||
th (heading superlative_Parameter)) ++
|
th (heading superlative_Parameter)) ++
|
||||||
tr (th (heading predicative_Parameter) ++ gforms APred) ++
|
tr (th (heading predicative_Parameter) ++ gforms APred) ++
|
||||||
tr (th (heading attributive_Parameter) ++ gforms AAttr) ++
|
tr (th (heading attributive_Parameter) ++ gforms (AAttr Utr)) ++
|
||||||
|
tr (th (heading attributive_Parameter) ++ gforms (AAttr Neutr)) ++
|
||||||
tr (th (heading partitive_Parameter) ++ gforms AGen)
|
tr (th (heading partitive_Parameter) ++ gforms AGen)
|
||||||
)
|
)
|
||||||
in { t = "a" ;
|
in { t = "a" ;
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ sun_N = mkN "zon" utrum ;
|
|||||||
swell_V = zwellen_V ;
|
swell_V = zwellen_V ;
|
||||||
swim_V = zwemmen_V ;
|
swim_V = zwemmen_V ;
|
||||||
switch8off_V2 = mkV2 "schakelen" ;
|
switch8off_V2 = mkV2 "schakelen" ;
|
||||||
switch8on_V2 = mkV2 (mkV "op" (mkV "schakelen")) ;
|
switch8on_V2 = mkV2 (mkV "aan" (mkV "zetten")) ;
|
||||||
table_N = mkN "tabel" utrum ;
|
table_N = mkN "tabel" utrum ;
|
||||||
tail_N = mkN "staart" utrum ;
|
tail_N = mkN "staart" utrum ;
|
||||||
teach_V2 = mkV2 "leren" ;
|
teach_V2 = mkV2 "leren" ;
|
||||||
|
|||||||
@@ -86,13 +86,15 @@ concrete NounDut of Noun = CatDut ** open ResDut, Prelude in {
|
|||||||
OrdDigits numeral = {s = \\af => numeral.s ! NOrd af} ;
|
OrdDigits numeral = {s = \\af => numeral.s ! NOrd af} ;
|
||||||
|
|
||||||
NumNumeral numeral = {s = \\g,c => numeral.s ! NCard g c; n = numeral.n } ;
|
NumNumeral numeral = {s = \\g,c => numeral.s ! NCard g c; n = numeral.n } ;
|
||||||
OrdNumeral numeral = {s = \\af => numeral.s ! NOrd af} ;
|
OrdNumeral numeral = {s = let tiende : AForm => Str = \\af => numeral.s ! NOrd af
|
||||||
|
in table {APred => tiende ! AAttr Utr ;
|
||||||
|
af => tiende ! af} } ;
|
||||||
|
|
||||||
AdNum adn num = {s = \\g,c => adn.s ++ num.s!g!c; n = num.n } ;
|
AdNum adn num = {s = \\g,c => adn.s ++ num.s!g!c; n = num.n } ;
|
||||||
|
|
||||||
OrdSuperl a = {s = a.s ! Superl} ;
|
OrdSuperl a = {s = addHetPred (a.s ! Superl) } ; -- het warmst in APred, rest normal
|
||||||
|
|
||||||
OrdNumeralSuperl n a = {s = \\af => n.s ! NOrd af ++ a.s ! Superl ! af} ;
|
OrdNumeralSuperl n a = {s = addHetPred (\\af => n.s ! NOrd af ++ a.s ! Superl ! af) } ;
|
||||||
|
|
||||||
DefArt = noMerge ** {
|
DefArt = noMerge ** {
|
||||||
s = \\_,n,g => case <n,g> of {<Sg,Neutr> => "het" ; _ => "de"} ;
|
s = \\_,n,g => case <n,g> of {<Sg,Neutr> => "het" ; _ => "de"} ;
|
||||||
|
|||||||
@@ -211,7 +211,9 @@ oper
|
|||||||
|
|
||||||
--.
|
--.
|
||||||
|
|
||||||
mkOrd : A -> Ord = \a -> lin Ord {s = a.s ! Posit} ;
|
mkOrd : A -> Ord = \a ->
|
||||||
|
lin Ord {s = table { APred => "de" ++ a.s ! Posit ! APred ;
|
||||||
|
af => a.s ! Posit ! af } } ;
|
||||||
|
|
||||||
mkN = overload {
|
mkN = overload {
|
||||||
mkN : (bank : Str) -> N
|
mkN : (bank : Str) -> N
|
||||||
|
|||||||
@@ -76,16 +76,16 @@ resource ResDut = ParamX ** open Prelude, Predef in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
param
|
param
|
||||||
AForm = APred | AAttr | AGen ;
|
AForm = APred | AAttr Gender | AGen ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
Adjective = {s : Degree => AForm => Str} ;
|
Adjective = {s : Degree => AForm => Str} ;
|
||||||
|
|
||||||
mkAdjective : (_,_,_,_,_ : Str) -> Adjective = \ap,aa,ag,ac,as -> {
|
mkAdjective : (_,_,_,_,_ : Str) -> Adjective = \ap,aa,ag,ac,as -> {
|
||||||
s = table {
|
s = table {
|
||||||
Posit => table {APred => ap ; AAttr => aa ; AGen => ag} ;
|
Posit => table {AAttr Utr => aa ; AGen => ag ; _ => ap } ;
|
||||||
Compar => table {APred => ac ; AAttr => ac + "e" ; AGen => ac + "s"} ; ----
|
Compar => table {AAttr Utr => ac + "e" ; AGen => ac + "s" ; _ => ac } ; ----
|
||||||
Superl => table {APred => as ; AAttr => as + "e" ; AGen => as + "s"} ----
|
Superl => table {AAttr Utr => as + "e" ; AGen => as + "s" ; _ => as } ----
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -115,7 +115,11 @@ resource ResDut = ParamX ** open Prelude, Predef in {
|
|||||||
_ => endCons s + "e"
|
_ => endCons s + "e"
|
||||||
} ;
|
} ;
|
||||||
in reg2Adjective s se ;
|
in reg2Adjective s se ;
|
||||||
|
|
||||||
|
addHetPred : (AForm => Str) -> (AForm => Str) = \tiend_warmst ->
|
||||||
|
table {APred => "het" ++ tiend_warmst ! APred ;
|
||||||
|
af => tiend_warmst ! af } ;
|
||||||
|
|
||||||
param
|
param
|
||||||
VForm =
|
VForm =
|
||||||
VInf -- zijn
|
VInf -- zijn
|
||||||
@@ -154,9 +158,9 @@ param
|
|||||||
VPresSg3 | VImp3 => aait; -- hij/zij aait
|
VPresSg3 | VImp3 => aait; -- hij/zij aait
|
||||||
VPastSg => aaide; -- ik aaide --# notpresent
|
VPastSg => aaide; -- ik aaide --# notpresent
|
||||||
VPastPl => aaiden; -- hij/zij/het/wij aaiden --# notpresent
|
VPastPl => aaiden; -- hij/zij/het/wij aaiden --# notpresent
|
||||||
VPerf APred => geaaid ; -- ik heb geaaid
|
VPerf (AAttr Utr)=> geaaide ; -- geaaide X
|
||||||
VPerf AAttr => geaaide ; -- geaaide X
|
|
||||||
VPerf AGen => geaaid + "s" ; -- iets geaaids
|
VPerf AGen => geaaid + "s" ; -- iets geaaids
|
||||||
|
VPerf (APred|_) => geaaid ; -- ik heb geaaid
|
||||||
VPresPart => aaien + "de" ;
|
VPresPart => aaien + "de" ;
|
||||||
VGer => aaien + "d"
|
VGer => aaien + "d"
|
||||||
}
|
}
|
||||||
@@ -316,9 +320,9 @@ param
|
|||||||
VImp2 => "wees" ;
|
VImp2 => "wees" ;
|
||||||
VImp3 => "weest" ;
|
VImp3 => "weest" ;
|
||||||
VImpPl => "wezen" ;
|
VImpPl => "wezen" ;
|
||||||
VPerf APred => "geweest" ;
|
VPerf (AAttr Utr) => "geweeste" ;
|
||||||
VPerf AAttr => "geweeste" ;
|
|
||||||
VPerf AGen => "geweests" ;
|
VPerf AGen => "geweests" ;
|
||||||
|
VPerf (APred|_) => "geweest" ;
|
||||||
VPresPart => "zijnde" ;
|
VPresPart => "zijnde" ;
|
||||||
VGer => "wezend"
|
VGer => "wezend"
|
||||||
} ;
|
} ;
|
||||||
@@ -341,9 +345,9 @@ param
|
|||||||
VImp2 => "heb" ;
|
VImp2 => "heb" ;
|
||||||
VImp3 => "heeft" ;
|
VImp3 => "heeft" ;
|
||||||
VImpPl => "hebben" ;
|
VImpPl => "hebben" ;
|
||||||
VPerf APred => "gehad" ;
|
VPerf (AAttr Utr) => "gehadde" ;
|
||||||
VPerf AAttr => "gehadde" ;
|
|
||||||
VPerf AGen => "gehads" ;
|
VPerf AGen => "gehads" ;
|
||||||
|
VPerf (APred|_) => "gehad" ;
|
||||||
VPresPart => "hebbende" ;
|
VPresPart => "hebbende" ;
|
||||||
VGer => "hebbend"
|
VGer => "hebbend"
|
||||||
} ;
|
} ;
|
||||||
@@ -366,9 +370,9 @@ param
|
|||||||
VImp2 => "zoud" ; ---- not used
|
VImp2 => "zoud" ; ---- not used
|
||||||
VImp3 => "zoudt" ;
|
VImp3 => "zoudt" ;
|
||||||
VImpPl => "zouden" ; ----
|
VImpPl => "zouden" ; ----
|
||||||
VPerf APred => "gezoudt" ;
|
VPerf (AAttr Utr) => "gezoude" ;
|
||||||
VPerf AAttr => "gezoude" ;
|
|
||||||
VPerf AGen => "gezouds" ;
|
VPerf AGen => "gezouds" ;
|
||||||
|
VPerf (APred|_) => "gezoudt" ;
|
||||||
VPresPart => "zullende" ;
|
VPresPart => "zullende" ;
|
||||||
VGer => "zullend"
|
VGer => "zullend"
|
||||||
} ;
|
} ;
|
||||||
@@ -391,9 +395,9 @@ param
|
|||||||
VImp2 => "kan" ; ---- not used
|
VImp2 => "kan" ; ---- not used
|
||||||
VImp3 => "kan" ;
|
VImp3 => "kan" ;
|
||||||
VImpPl => "kunnen" ; ----
|
VImpPl => "kunnen" ; ----
|
||||||
VPerf APred => "gekund" ;
|
VPerf (AAttr Utr) => "gekunde" ;
|
||||||
VPerf AAttr => "gekunde" ;
|
|
||||||
VPerf AGen => "gekunds" ;
|
VPerf AGen => "gekunds" ;
|
||||||
|
VPerf (APred|_) => "gekund" ;
|
||||||
VPresPart => "kunnende" ;
|
VPresPart => "kunnende" ;
|
||||||
VGer => "kunnend"
|
VGer => "kunnend"
|
||||||
} ;
|
} ;
|
||||||
@@ -523,8 +527,8 @@ param
|
|||||||
|
|
||||||
agrAdj : Gender -> Adjf -> NForm -> AForm = \g,a,n ->
|
agrAdj : Gender -> Adjf -> NForm -> AForm = \g,a,n ->
|
||||||
case <a,g,n> of {
|
case <a,g,n> of {
|
||||||
<Strong,Neutr,NF Sg _> => APred ;
|
<Strong,Neutr,NF Sg _> => AAttr Neutr ;
|
||||||
_ => AAttr
|
_ => AAttr Utr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
param NegPosition = BeforeObjs | AfterObjs | BetweenObjs;
|
param NegPosition = BeforeObjs | AfterObjs | BetweenObjs;
|
||||||
|
|||||||
Reference in New Issue
Block a user