From e93b9c6743762c20f9f4e7e21118672f3e7a5c4a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 25 Mar 2020 11:40:07 +0100 Subject: [PATCH] =?UTF-8?q?(Kor)=20Add=20negation=20with=20~=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/korean/ResKor.gf | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index b98ed3261..dfd9b45a8 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -145,9 +145,8 @@ oper formalpres = case vowFinal stem of { True => add_B stem + "니다" ; False => stem + "습니다" } ; - in mkVerbFull plainpres polpres formalpres - plain plain plain - vt ; -- TODO proper forms + neg = stem + "지" ; + in mkVerbReg plainpres polpres formalpres neg vt ; mkVerb2 : (plain : Str) -> Verb2 = \plain -> vtov2 (mkVerb plain Active) ; mkVerb3 : (plain : Str) -> Verb3 = \plain -> v2tov3 (mkVerb2 plain) ; @@ -155,10 +154,17 @@ oper vtov2 : Verb -> Verb2 = \v -> v ** {c2 = Object ; p2 = emptyPP} ; v2tov3 : Verb2 -> Verb3 = \v -> v ** {c3 = Bare ; p3 = datPP} ; + mkVerbReg : (x1,_,_,x4 : Str) -> VerbType -> Verb = + \plainpres,polite,formal,neg,vt -> + let planeg = neg ++ negForms ! Plain ; + polneg = neg ++ negForms ! Polite ; + formneg = neg ++ negForms ! Formal ; + in mkVerbFull plainpres polite formal planeg polneg formneg vt ; + mkVerbFull : (x1,_,_,_,_,x6 : Str) -> VerbType -> Verb = - \plain,polite,formal,planeg,polneg,formneg,vt -> { + \plainpres,polite,formal,planeg,polneg,formneg,vt -> { s = table { - VF Plain Pos => plain ; + VF Plain Pos => plainpres ; VF Plain Neg => planeg ; VF Polite Pos => polite ; VF Polite Neg => polneg ; @@ -194,15 +200,18 @@ oper "없습니다" Existential ; - do_V : Verb = mkVerbFull + do_V : Verb = mkVerbReg "한다" "해요" "합니다" - "todo" - "todo" - "todo" + "하지" Active ; + negForms : Style => Str = + table { Plain => "않다" ; + Polite => "않아요" ; + Formal => "않습니다" } ; + ------------------ -- Adv