diff --git a/src/korean/ConjunctionKor.gf b/src/korean/ConjunctionKor.gf index 1ffb4d214..ab2792e82 100644 --- a/src/korean/ConjunctionKor.gf +++ b/src/korean/ConjunctionKor.gf @@ -51,6 +51,22 @@ oper s = co.s1 ++ ss.firstSS ! co.c ++ ss.s } ; +-- Versions with commas, no repeated conjunctions + baseSScomma : SS -> SS -> ConjSS = \s1,s2 -> s2 ** { + firstSS = \\conj => s1.s ++ SOFT_BIND ++ "," ; + } ; + + consSScomma : SS -> ConjSS -> ConjSS = \s,ss -> ss ** { + firstSS = \\conj => + s.s ++ SOFT_BIND ++ "," ++ ss.firstSS ! conj ; + } ; + + conjSScomma : Conj -> ConjSS -> SS = \co,ss -> { + s = co.s1 + ++ glue (ss.firstSS ! co.c) co.s2 + ++ ss.s + } ; + oper mkFirstSS : SS -> ConjType => Str = \s -> \\conj => glue s.s (conjTable ! NStar ! conj) ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index c41838e86..5e48317e4 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -254,7 +254,7 @@ oper -- Conj Conj : Type = { - s1 : Str ; + s1, s2 : Str ; c : ConjType ; -- if it's And, Or, … -- Need to add conjunction already in ConsX funs. n : Number ; diff --git a/src/korean/StructuralKor.gf b/src/korean/StructuralKor.gf index 354906c92..ea4f03c18 100644 --- a/src/korean/StructuralKor.gf +++ b/src/korean/StructuralKor.gf @@ -40,14 +40,13 @@ lin there_Adv = ss "" ; lin and_Conj = { s1 = [] ; - -- no need for strings here, actual values come from ParamKor.conjTable - -- s2 = \\phono => table { - -- VStar => "고" ; - -- NStar => "하고"} ; + -- no need for string, actual values come from ParamKor.conjTable + s2 = [] ; -- this is only used in the base/cons functions with comma. + -- another application can use commas and just one conjunction. n = Pl ; c = And } ; -lin or_Conj = {s1 = [] ; n = Sg ; c = Or} ; +lin or_Conj = {s1,s2 = [] ; n = Sg ; c = Or} ; -- lin if_then_Conj = mkConj -- lin both7and_DConj = mkConj "" "" pl ; -- lin either7or_DConj = {s2 = \\_ => "" ; s1 = "" ; n = Sg} ;