forked from GitHub/comp-syntax-gu-mlt
basic korean grammar
This commit is contained in:
@@ -32,7 +32,8 @@ equivalents."
|
||||
|
||||
(defun hangul-convert-buffer-to-jamo ()
|
||||
(interactive)
|
||||
(hangul-convert-region-to-jamo (point-min) (point-max)))
|
||||
(hangul-convert-region-to-jamo (point-min) (point-max))
|
||||
(message "Converted Hangul Syllables in buffer to Jamo."))
|
||||
|
||||
(require 'dash)
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@ resource HangulJamo = open Prelude in {
|
||||
|
||||
infinitive : (stem : Str) -> Str
|
||||
= \stem -> case stem of {
|
||||
init + #ha => init + "해" ;
|
||||
_ + #a_o + #batchim => stem + "아" ;
|
||||
_ + (#a | #eo) => stem ;
|
||||
init + #o => init + "ᅪ" ;
|
||||
init + #eu => init + "ᅥ" ;
|
||||
init + #i => init + "ㅕ" ;
|
||||
init + #i => init + "ᅧ" ;
|
||||
init + #u => init + "ᅯ" ;
|
||||
init + #ha => init + "해" ;
|
||||
_ => stem + "어"
|
||||
} ;
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ concrete MicroLangKor of MicroLang = open MicroResKor, Prelude in {
|
||||
Adv = {s : Str} ;
|
||||
|
||||
lin
|
||||
UttS s = s ;
|
||||
UttS s = {s = s.s} ;
|
||||
UttNP np = {s = np.s} ;
|
||||
-- PredVPS np vp = {s = np.s ++ vp.compl ++ vp.verb.s} ;
|
||||
PredVPS np vp = {s = np.s ++ vp.compl ++ vp.verb.s ! VPresent} ;
|
||||
UseV v = {verb = v ; compl = []} ;
|
||||
ComplV2 v2 np = {verb = v2 ; compl = np.s};
|
||||
UseN n = n ;
|
||||
@@ -72,21 +72,21 @@ lin child_N = mkN "어린이" ;
|
||||
-- lin clever_A = mkA "똑똑한" ;
|
||||
-- lin cloud_N = mkN "cloud" ;
|
||||
-- lin cold_A = mkA "차가운" ;
|
||||
lin come_V = regVerb "오다" ;
|
||||
lin come_V = mkV "오다" ;
|
||||
lin computer_N = mkN "컴퓨터" ;
|
||||
-- lin cow_N = mkN "cow" ;
|
||||
-- lin dirty_A = mkA "더러운" ;
|
||||
lin dog_N = mkN "개" ;
|
||||
-- lin drink_V2 = mkV2 (mkV "drink" "drank" "drunk") ;
|
||||
-- lin eat_V2 = mkV2 (mkV "eat" "ate" "eaten") ;
|
||||
-- lin find_V2 = mkV2 (mkV "find" "found" "found") ;
|
||||
lin drink_V2 = mkV2 "마시다" ;
|
||||
lin eat_V2 = mkV2 "먹다" ;
|
||||
lin find_V2 = mkV2 "찾다" ;
|
||||
-- lin fire_N = mkN "fire" ;
|
||||
lin fish_N = mkN "생선" ;
|
||||
-- lin flower_N = mkN "flower" ;
|
||||
lin friend_N = mkN "진구" ;
|
||||
lin girl_N = mkN "소녀" ;
|
||||
-- lin good_A = mkA "좋은" ;
|
||||
-- lin go_V = mkV "go" "went" "gone" ;
|
||||
lin go_V = mkV "가다" ;
|
||||
-- lin grammar_N = mkN "grammar" ;
|
||||
-- lin green_A = mkA "green" ;
|
||||
-- lin heavy_A = mkA "heavy" ;
|
||||
@@ -95,8 +95,8 @@ lin girl_N = mkN "소녀" ;
|
||||
lin house_N = mkN "집" ;
|
||||
-- lin john_PN = mkPN "John" ;
|
||||
-- lin jump_V = mkV "jump" ;
|
||||
-- lin kill_V2 = mkV2 "kill" ;
|
||||
-- lin know_VS = mkVS (mkV "know" "knew" "known") ;
|
||||
lin kill_V2 = mkV2 "죽다" ;
|
||||
-- lin know_V2 = mkV "알다" ;
|
||||
lin language_N = mkN "언어" ;
|
||||
-- lin live_V = mkV "live" ;
|
||||
-- lin love_V2 = mkV2 (mkV "love") ;
|
||||
@@ -104,29 +104,29 @@ lin man_N = mkN "남자" ;
|
||||
lin milk_N = mkN "우유" ;
|
||||
lin music_N = mkN "음악" ;
|
||||
-- lin new_A = mkA "new" ;
|
||||
-- lin now_Adv = mkAdv "지금" ;
|
||||
lin now_Adv = mkAdv "지금" ;
|
||||
-- lin old_A = mkA "낡안" ;
|
||||
-- lin paris_PN = mkPN "Paris" ;
|
||||
-- lin play_V = mkV "놀" ;
|
||||
-- lin read_V2 = mkV2 (mkV "read" "read" "read") ;
|
||||
lin play_V = mkV "놀다" ;
|
||||
lin read_V2 = mkV2 "읽다" ;
|
||||
-- lin ready_A = mkA "ready" ;
|
||||
-- lin red_A = mkA "red" ;
|
||||
lin river_N = mkN "river" ;
|
||||
lin river_N = mkN "강" ;
|
||||
-- lin run_V = mkV "run" "ran" "run" ;
|
||||
lin sea_N = mkN "바다" ;
|
||||
-- lin see_V2 = mkV2 (mkV "see" "saw" "seen") ;
|
||||
-- lin ship_N = mkN "ship" ;
|
||||
-- lin sleep_V = regVerb "자다" ;
|
||||
lin sleep_V = mkV "자다" ;
|
||||
-- lin small_A = mkA "작은" ;
|
||||
lin star_N = mkN "별" ;
|
||||
-- lin swim_V = mkV "swim" "swam" "swum" ;
|
||||
-- lin teach_V2 = mkV2 (mkV "teach" "taught" "taught") ;
|
||||
lin swim_V = mkV "수영하다" ;
|
||||
lin teach_V2 = mkV2 "가르치다" ;
|
||||
-- lin train_N = mkN "train" ;
|
||||
-- lin travel_V = mkV "travel" ;
|
||||
-- lin tree_N = mkN "tree" ;
|
||||
-- lin understand_V2 = mkV2 (mkV "understand" "understood" "understood") ;
|
||||
-- lin wait_V2 = mkV2 "wait" "for" ;
|
||||
-- lin walk_V = mkV "walk" ;
|
||||
lin wait_V2 = mkV2 "기다리다" ;
|
||||
lin walk_V = mkV "걷다" ;
|
||||
-- lin warm_A = mkA "따뜻한" ;
|
||||
lin water_N = mkN "물" ;
|
||||
-- lin white_A = mkA "하얗은" ;
|
||||
@@ -143,8 +143,14 @@ oper
|
||||
mkN : Str -> Noun
|
||||
= \s -> lin N {s = s} ;
|
||||
|
||||
-- mkA : Str -> A
|
||||
-- = \stem -> lin A (mkV stem) ;
|
||||
mkV : Str -> V = \lemma -> lin V (regVerb lemma) ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2
|
||||
= \lemma -> lin V2 (mkV lemma) ;
|
||||
mkV2 : V -> V2
|
||||
= \v -> lin V2 v ;
|
||||
} ;
|
||||
|
||||
mkAdv : Str -> Adv
|
||||
= \s -> lin Adv {s = s} ;
|
||||
|
||||
Reference in New Issue
Block a user