diff --git a/src/korean/AdjectiveKor.gf b/src/korean/AdjectiveKor.gf index d4d3fb7c7..d5a69c739 100644 --- a/src/korean/AdjectiveKor.gf +++ b/src/korean/AdjectiveKor.gf @@ -1,5 +1,5 @@ concrete AdjectiveKor of Adjective = CatKor ** - open ResKor, (AK=AdverbKor), Prelude in { + open ResKor, Prelude in { flags optimize=all_subs ; @@ -18,7 +18,7 @@ concrete AdjectiveKor of Adjective = CatKor ** -- : A2 -> NP -> AP ; -- married to her ComplA2 a2 np = a2 ** { - compar = (AK.PrepNP a2.p2 np).s ; + compar = (prepNP a2.c2 a2.p2 np).s ; } ; -- : A2 -> AP ; -- married to itself diff --git a/src/korean/AdverbKor.gf b/src/korean/AdverbKor.gf index 126cb3d81..b012f43e0 100644 --- a/src/korean/AdverbKor.gf +++ b/src/korean/AdverbKor.gf @@ -11,11 +11,7 @@ lin -- ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs -- : Prep -> NP -> Adv ; - PrepNP prep np = { - s = case prep.attaches of { - True => glue (np.s ! Bare) (prep.s ! np.p) ; - False => np.s ! Bare ++ (prep.s ! np.p)} - } ; + PrepNP = prepNP Bare ; -- Adverbs can be modified by 'adadjectives', just like adjectives. diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index 160cc6ac2..cfa77008b 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -147,8 +147,8 @@ oper mkA2 : Str -> Str -> A2 = \s,p -> let adj : Adjective = mkAdj s ; prep : Prep = mkPrep p - in lin A2 (adj ** {p2 = prep}) ; - mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {p2 = p}) ; + in lin A2 (atoa2 adj ** {p2 = prep}) ; + mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (atoa2 a ** {p2 = p}) ; } ; mkV = overload { diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index e4d73a433..a6b4b725b 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -142,7 +142,7 @@ oper -- Adjectives Adjective : Type = {s : VForm => Str} ; -- Adjectives are verbs - Adjective2 : Type = Adjective ** {p2 : Postposition} ; + Adjective2 : Type = Adjective ** {c2 : NForm ; p2 : Postposition} ; v2a : (attrpos : Str) -> Verb -> Adjective = \attrpos,v -> { s = table { @@ -273,6 +273,11 @@ oper Adverb : Type = SS ; + prepNP : NForm -> Postposition -> NounPhrase -> Adverb = \nf,pp,np -> { + s = case pp.attaches of { + True => glue (np.s ! nf) (pp.s ! np.p) ; + False => np.s ! nf ++ (pp.s ! np.p)} + } ; ------------------ -- Conj