From f39662af62f0888c8b1c72695ea33bfba1884aab Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 8 Apr 2020 20:32:03 +0200 Subject: [PATCH 1/4] =?UTF-8?q?(Kor)=20Add=20a=20conjunction=20that=20repe?= =?UTF-8?q?ats=20"=EA=B3=A0,"=20after=20each=20word?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/korean/ParamKor.gf | Bin 3234 -> 3235 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index b1811c199686610bba567d1de4d2d2ce4b8df94d..4b883ea5b9622265f90ccf70fffddbf8dc0e96f0 100644 GIT binary patch delta 14 VcmZ1^xma?;baqCa&C}VrSpg Date: Wed, 8 Apr 2020 21:04:57 +0200 Subject: [PATCH 2/4] (Kor) Add new constructor for N + new words --- src/korean/LexiconKor.gf | 6 +++--- src/korean/ParadigmsKor.gf | 24 +++++++++++++++++------- src/korean/ResKor.gf | 3 ++- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/korean/LexiconKor.gf b/src/korean/LexiconKor.gf index 11e46d857..e2783bc58 100644 --- a/src/korean/LexiconKor.gf +++ b/src/korean/LexiconKor.gf @@ -59,7 +59,7 @@ lin bread_N = mkN "빵" ; -- lin camera_N = mkN "" ; -- lin cap_N = mkN "" ; --- lin car_N = mkN "" ; +lin car_N = mkN "자동차" "대" ; -- lin carpet_N = mkN "" ; lin cat_N = mkN "고양이" ; -- lin ceiling_N = mkN "" ; @@ -258,7 +258,7 @@ lin now_Adv = mkAdv "지금" ; -- lin paris_PN = mkPN "Paris" ; -- lin peace_N = mkN "" ; -- lin pen_N = mkN "" ; -lin person_N = mkN "사람" ; +lin person_N = mkN "사람" "명" ; -- lin planet_N = mkN "" ; -- lin plastic_N = mkN "" ; -- lin play_V = mkV "" ; @@ -314,7 +314,7 @@ lin see_V2 = mkV2 "보다" ; -- lin sharp_A = mkA "" ; -- lin sheep_N = mkN "" fem ; -- lin ship_N = mkN "" ; -lin shirt_N = mkN "셔츠" ; +lin shirt_N = mkN "셔츠" "벌" ; -- lin shoe_N = mkN "" ; -- lin shop_N = mkN "" ; lin short_A = mkA "키가" small_A ; -- "height is small" diff --git a/src/korean/ParadigmsKor.gf b/src/korean/ParadigmsKor.gf index cfa77008b..185cb147d 100644 --- a/src/korean/ParadigmsKor.gf +++ b/src/korean/ParadigmsKor.gf @@ -15,11 +15,16 @@ oper object : CaseParticle ; -- 을 or 를 noCase : CaseParticle ; -- No case particle + NumOrigin : Type ; -- Arguments to give to N + nativeKorean : NumOrigin ; -- Native Korean variant of numerals: 하나, 둘, 셋 , … + sinoKorean : NumOrigin ; -- Sino-Korean variant of numerals: 일, 이, 삼 + --2 Nouns mkN : overload { - mkN : (noun : Str) -> N ; -- Predictable nouns with classifier 개 - mkN : (noun,counter : Str) -> N ; -- Noun and classifier given as arguments. + mkN : (noun : Str) -> N ; -- Predictable nouns with classifier 개. When quantified by a numeral, the numeral is of native Korean origin: 하나/둘/셋 , not 일/이/삼. + mkN : (noun,counter : Str) -> N ; -- Noun and classifier given as arguments. Takes numerals of native Korean origin. + mkN : (noun,counter : Str) -> NumOrigin -> N ; -- Noun, classifier and origin of numerals. E.g. `mkN "사람" "명" nativeKorean` } ; --2 Adjectives @@ -114,15 +119,20 @@ oper object = Object ; noCase = Bare ; + NumOrigin : Type = ResKor.NumOrigin ; + nativeKorean = NK ; + sinoKorean = SK ; + mkN = overload { mkN : Str -> N = \s -> lin N (mkNoun s) ; - mkN : (noun,counter : Str) -> N = \n,c -> - let noun : Noun = mkNoun n ; - counter : Counter = mkCounter c ; - in lin N (noun ** {c = counter}) ; - + mkN : (noun,counter : Str) -> N = \n,c -> mkNCounter n c nativeKorean ; + mkN : (noun,counter : Str) -> NumOrigin -> N = mkNCounter } ; + mkNCounter : (noun,counter : Str) -> NumOrigin -> N = \n,c,o -> + let noun : Noun = mkNoun n ; + counter : Counter = mkCounter c o ; + in lin N (noun ** {c = counter}) ; mkN2 = overload { mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s) ; diff --git a/src/korean/ResKor.gf b/src/korean/ResKor.gf index e8907c245..59bf669a1 100644 --- a/src/korean/ResKor.gf +++ b/src/korean/ResKor.gf @@ -13,8 +13,9 @@ oper origin = NK } ; - mkCounter : Str -> Counter = \s -> baseCounter ** { + mkCounter : Str -> NumOrigin -> Counter = \s,o -> baseCounter ** { s = s ; + origin = o ; } ; BaseNoun : Type = { From 3bda323675ae6a5c001d7fd9a41cacce8b160dd6 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 9 Apr 2020 10:58:46 +0200 Subject: [PATCH 3/4] (Kor) Add show function for param VForm (used in an application grammar) --- src/korean/ParamKor.gf | Bin 3235 -> 3733 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/korean/ParamKor.gf b/src/korean/ParamKor.gf index 4b883ea5b9622265f90ccf70fffddbf8dc0e96f0..24832b20a1aaee3106a3319d9fa67d5214ebc9cd 100644 GIT binary patch delta 527 zcmZ21IaPMU4eojc1zlZ*(Bjk-h0HvK#5{$>f`XjPT%#Ju!W zkmj;9qvDbx1uKOxxBQ}91zkIZ;F2N*TZNdiw0aOPIk7lZp)5@yKTV;UOF=inDBjHNXj19=o$t+1laiE(5LJ-+hh-ke6s<9AJkRXcMoW#sLu&HoQxhVv| e1Tj^D%*0R$acZrCH5ZpI98A_@^qQ>0Qw{(^JCz6k delta 15 WcmbO#yI69=4erS*j3JZd_{sq;tp!8? From 00c9782c9aa894684e968f082f5fb020bb9b4555 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 9 Apr 2020 11:08:16 +0200 Subject: [PATCH 4/4] (Kor) Add explicit plural for all nouns --- src/korean/NounKor.gf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index 8c5693471..83f06e7df 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -10,8 +10,8 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { DetCN det cn = cn ** {s = \\c => let cns : Str = case det.n of { - -- Pl => cn.s ! Bare ++ BIND ++ plural ! c ; - _Sg => cn.s ! c } ; + Pl => cn.s ! Bare ++ BIND ++ plural ! c ; + Sg => cn.s ! c } ; dets : Str = det.s ! cn.c.origin ; detnum : Str = case det.numtype of { IsNum => dets ++ cn.c.s ;