forked from GitHub/gf-rgl
@@ -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"
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
Binary file not shown.
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user