From 844e606429d827802c5cf5cc689e9a601b9fced4 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 3 Apr 2020 19:35:59 +0200 Subject: [PATCH] (Kor) Add A2, ComplA2, mkA2 --- src/korean/AdjectiveKor.gf | 7 +++++-- src/korean/ParadigmsKor.gf | 10 +++++++++- src/korean/ResKor.gf | 4 +++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf index c603ce6a..f76289bc 100644 --- a/src/korean/AdjectiveKor.gf +++ b/src/korean/AdjectiveKor.gf @@ -1,4 +1,5 @@ -concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { +concrete AdjectiveKor of Adjective = CatKor ** + open ResKor, (AK=AdverbKor), Prelude in { flags optimize=all_subs ; @@ -16,7 +17,9 @@ concrete AdjectiveKor of Adjective = CatKor ** open ResKor, Prelude in { } ; -- : A2 -> NP -> AP ; -- married to her - -- ComplA2 a2 np = a2 ** { } ; + ComplA2 a2 np = a2 ** { + compar = (AK.PrepNP a2.p2 np).s ; + } ; -- : A2 -> AP ; -- married to itself -- ReflA2 a2 = a2 ** { } ; diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 5cd59732..012970ef 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -28,7 +28,10 @@ oper mkA : (kiga : Str) -> (jakda : A) -> A ; -- Compound adjective, e.g. 키가 작다 'short', literally 'height (is) small'. 키가 'height' given as string, 작다 'small' given as preconstructed A. } ; - -- mkA2 : Str -> Prep -> A2 ; + mkA2 : overload { + mkA2 : Str -> A2 ; -- Regular adjective, given in -다 form, no postposition for complement. + mkA2 : A -> Prep -> A2 ; -- Preconstructed adjective and postposition for complement. + } ; mkPN : Str -> PN = \s -> lin PN (mkNoun s) ; @@ -124,6 +127,11 @@ oper jakda ** {s = \\af => kiga ++ jakda.s ! af} ; } ; + mkA2 = overload { + mkA2 : Str -> A2 = \s -> lin A2 (atoa2 (mkAdj s)) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {p2 = p}) ; + } ; + mkV = overload { mkV : (plain : Str) -> V = \v -> lin V (mkVerb v) ; mkV : (nore : Str) -> (hada : V) -> V = \nore,hada -> hada ** { diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index c2962fe8..c41838e8 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -134,7 +134,7 @@ oper -- Adjectives Adjective : Type = {s : VForm => Str} ; -- Adjectives are verbs - Adjective2 : Type = Adjective ; + Adjective2 : Type = Adjective ** {p2 : Postposition} ; mkAdj : Str -> Adjective = \plain -> let stem = init plain ; @@ -145,6 +145,8 @@ oper vf => verb.s ! vf } -- adjectives, otherwise adj forms == verb forms. } ; + atoa2 : Adjective -> Adjective2 = \a -> a ** {c2=Bare ; p2=emptyPP} ; + AdjPhrase : Type = Adjective ** {compar : Str} ; -------------------------------------------------------------------------------- -- Verbs