Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)
at lambda-fork/main 771 lines 64 kB view raw
1/* 2 * Copyright (C) 2023-2025 Yomitan Authors 3 * Copyright (C) 2020-2022 Yomichan Authors 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 */ 18 19import {koreanTransforms} from '../../ext/js/language/ko/korean-transforms.js'; 20import {LanguageTransformer} from '../../ext/js/language/language-transformer.js'; 21import {testLanguageTransformer} from '../fixtures/language-transformer-test.js'; 22import {Hangul} from '../../ext/lib/hangul-js.js'; 23 24/* eslint-disable @stylistic/no-multi-spaces */ 25const tests = [ 26 { 27 category: 'ㅏ다', 28 valid: true, 29 tests: [ 30 {term: '가다', source: '가다', rule: 'v', reasons: []}, 31 {term: '가다', source: '갑니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 32 {term: '가다', source: '가요', rule: 'v', reasons: ['-아/어요']}, 33 {term: '가다', source: '가', rule: 'v', reasons: ['어간']}, 34 {term: '가다', source: '간다', rule: 'v', reasons: ['-(느)ㄴ다']}, 35 {term: '가다', source: '갔습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 36 {term: '가다', source: '갔어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 37 {term: '가다', source: '갔어', rule: 'v', reasons: ['-았/었', '-아/어']}, 38 {term: '가다', source: '갔다', rule: 'v', reasons: ['-았/었', '-다']}, 39 {term: '가다', source: '가겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 40 {term: '가다', source: '가겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 41 {term: '가다', source: '가겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 42 {term: '가다', source: '가겠다', rule: 'v', reasons: ['-겠', '-다']}, 43 {term: '가다', source: '갑니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 44 {term: '가다', source: '가냐', rule: 'v', reasons: ['-(으)냐']}, 45 {term: '가다', source: '갔습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 46 {term: '가다', source: '갔냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 47 {term: '가다', source: '가겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 48 {term: '가다', source: '가겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 49 {term: '가다', source: '가네', rule: 'v', reasons: ['-네']}, 50 {term: '가다', source: '가는구나', rule: 'v', reasons: ['-는구나']}, 51 {term: '가다', source: '감', rule: 'v', reasons: ['-(으)ㅁ']}, 52 {term: '가다', source: '간', rule: 'v', reasons: ['-(으)ㄴ']}, 53 {term: '가다', source: '가게', rule: 'v', reasons: ['-게']}, 54 {term: '가다', source: '가고', rule: 'v', reasons: ['-고']}, 55 {term: '가다', source: '가면', rule: 'v', reasons: ['-(으)면']}, 56 {term: '가다', source: '가니', rule: 'v', reasons: ['-(으)니']}, 57 {term: '가다', source: '가십시오', rule: 'v', reasons: ['-(으)십시오']}, 58 {term: '가다', source: '가세요', rule: 'v', reasons: ['-(으)세요']}, 59 {term: '가다', source: '가라', rule: 'v', reasons: ['-아/어라']}, 60 {term: '가다', source: '갑시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 61 {term: '가다', source: '가자', rule: 'v', reasons: ['-자']}, 62 ], 63 }, 64 { 65 category: 'ㅓ다', 66 valid: true, 67 tests: [ 68 {term: '서다', source: '서다', rule: 'v', reasons: []}, 69 {term: '서다', source: '섭니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 70 {term: '서다', source: '서요', rule: 'v', reasons: ['-아/어요']}, 71 {term: '서다', source: '서', rule: 'v', reasons: ['어간']}, 72 {term: '서다', source: '선다', rule: 'v', reasons: ['-(느)ㄴ다']}, 73 {term: '서다', source: '섰어', rule: 'v', reasons: ['-았/었', '-아/어']}, 74 {term: '서다', source: '섰어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 75 {term: '서다', source: '섰다', rule: 'v', reasons: ['-았/었', '-다']}, 76 {term: '서다', source: '섰습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 77 {term: '서다', source: '서겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 78 {term: '서다', source: '서겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 79 {term: '서다', source: '서겠다', rule: 'v', reasons: ['-겠', '-다']}, 80 {term: '서다', source: '서겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 81 {term: '서다', source: '섭니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 82 {term: '서다', source: '서냐', rule: 'v', reasons: ['-(으)냐']}, 83 {term: '서다', source: '섰습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 84 {term: '서다', source: '섰냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 85 {term: '서다', source: '서겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 86 {term: '서다', source: '서겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 87 {term: '서다', source: '서는구나', rule: 'v', reasons: ['-는구나']}, 88 {term: '서다', source: '서네', rule: 'v', reasons: ['-네']}, 89 {term: '서다', source: '섬', rule: 'v', reasons: ['-(으)ㅁ']}, 90 {term: '서다', source: '선', rule: 'v', reasons: ['-(으)ㄴ']}, 91 {term: '서다', source: '서게', rule: 'v', reasons: ['-게']}, 92 {term: '서다', source: '서면', rule: 'v', reasons: ['-(으)면']}, 93 {term: '서다', source: '서고', rule: 'v', reasons: ['-고']}, 94 {term: '서다', source: '서니', rule: 'v', reasons: ['-(으)니']}, 95 {term: '서다', source: '서세요', rule: 'v', reasons: ['-(으)세요']}, 96 {term: '서다', source: '서십시오', rule: 'v', reasons: ['-(으)십시오']}, 97 {term: '서다', source: '서라', rule: 'v', reasons: ['-아/어라']}, 98 {term: '서다', source: '서자', rule: 'v', reasons: ['-자']}, 99 {term: '서다', source: '섭시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 100 ], 101 }, 102 { 103 category: 'ㅗ다', 104 valid: true, 105 tests: [ 106 {term: '오다', source: '오다', rule: 'v', reasons: []}, 107 {term: '오다', source: '옵니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 108 {term: '오다', source: '와요', rule: 'v', reasons: ['-아/어요']}, 109 {term: '오다', source: '와', rule: 'v', reasons: ['-아/어']}, 110 {term: '오다', source: '온다', rule: 'v', reasons: ['-(느)ㄴ다']}, 111 {term: '오다', source: '왔습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 112 {term: '오다', source: '왔어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 113 {term: '오다', source: '왔어', rule: 'v', reasons: ['-았/었', '-아/어']}, 114 {term: '오다', source: '왔다', rule: 'v', reasons: ['-았/었', '-다']}, 115 {term: '오다', source: '오겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 116 {term: '오다', source: '오겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 117 {term: '오다', source: '오겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 118 {term: '오다', source: '오겠다', rule: 'v', reasons: ['-겠', '-다']}, 119 {term: '오다', source: '옵니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 120 {term: '오다', source: '오냐', rule: 'v', reasons: ['-(으)냐']}, 121 {term: '오다', source: '왔습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 122 {term: '오다', source: '왔냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 123 {term: '오다', source: '오겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 124 {term: '오다', source: '오겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 125 {term: '오다', source: '오네', rule: 'v', reasons: ['-네']}, 126 {term: '오다', source: '오는구나', rule: 'v', reasons: ['-는구나']}, 127 {term: '오다', source: '옴', rule: 'v', reasons: ['-(으)ㅁ']}, 128 {term: '오다', source: '온', rule: 'v', reasons: ['-(으)ㄴ']}, 129 {term: '오다', source: '오게', rule: 'v', reasons: ['-게']}, 130 {term: '오다', source: '오고', rule: 'v', reasons: ['-고']}, 131 {term: '오다', source: '오면', rule: 'v', reasons: ['-(으)면']}, 132 {term: '오다', source: '오니', rule: 'v', reasons: ['-(으)니']}, 133 {term: '오다', source: '오십시오', rule: 'v', reasons: ['-(으)십시오']}, 134 {term: '오다', source: '오세요', rule: 'v', reasons: ['-(으)세요']}, 135 {term: '오다', source: '와라', rule: 'v', reasons: ['-아/어라']}, 136 {term: '오다', source: '옵시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 137 {term: '오다', source: '오자', rule: 'v', reasons: ['-자']}, 138 ], 139 }, 140 { 141 category: 'ㅜ다', 142 valid: true, 143 tests: [ 144 {term: '나누다', source: '나누다', rule: 'v', reasons: []}, 145 {term: '나누다', source: '나눕니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 146 {term: '나누다', source: '나눈다', rule: 'v', reasons: ['-(느)ㄴ다']}, 147 {term: '나누다', source: '나눠', rule: 'v', reasons: ['-아/어']}, 148 {term: '나누다', source: '나눠요', rule: 'v', reasons: ['-아/어요']}, 149 {term: '나누다', source: '나눴어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 150 {term: '나누다', source: '나눴어', rule: 'v', reasons: ['-았/었', '-아/어']}, 151 {term: '나누다', source: '나눴다', rule: 'v', reasons: ['-았/었', '-다']}, 152 {term: '나누다', source: '나눴습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 153 {term: '나누다', source: '나누겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 154 {term: '나누다', source: '나누겠다', rule: 'v', reasons: ['-겠', '-다']}, 155 {term: '나누다', source: '나누겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 156 {term: '나누다', source: '나누겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 157 {term: '나누다', source: '나눕니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 158 {term: '나누다', source: '나누냐', rule: 'v', reasons: ['-(으)냐']}, 159 {term: '나누다', source: '나눴냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 160 {term: '나누다', source: '나눴습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 161 {term: '나누다', source: '나누겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 162 {term: '나누다', source: '나누겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 163 {term: '나누다', source: '나누네', rule: 'v', reasons: ['-네']}, 164 {term: '나누다', source: '나누는구나', rule: 'v', reasons: ['-는구나']}, 165 {term: '나누다', source: '나눔', rule: 'v', reasons: ['-(으)ㅁ']}, 166 {term: '나누다', source: '나눈', rule: 'v', reasons: ['-(으)ㄴ']}, 167 {term: '나누다', source: '나누게', rule: 'v', reasons: ['-게']}, 168 {term: '나누다', source: '나누니', rule: 'v', reasons: ['-(으)니']}, 169 {term: '나누다', source: '나누면', rule: 'v', reasons: ['-(으)면']}, 170 {term: '나누다', source: '나누고', rule: 'v', reasons: ['-고']}, 171 {term: '나누다', source: '나누세요', rule: 'v', reasons: ['-(으)세요']}, 172 {term: '나누다', source: '나눠라', rule: 'v', reasons: ['-아/어라']}, 173 {term: '나누다', source: '나누십시오', rule: 'v', reasons: ['-(으)십시오']}, 174 {term: '나누다', source: '나누자', rule: 'v', reasons: ['-자']}, 175 {term: '나누다', source: '나눕시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 176 ], 177 }, 178 { 179 category: 'ㅡ다', 180 valid: true, 181 tests: [ 182 {term: '쓰다', source: '쓰다', rule: 'v', reasons: []}, 183 {term: '쓰다', source: '씁니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 184 {term: '쓰다', source: '써요', rule: 'v', reasons: ['-아/어요']}, 185 {term: '쓰다', source: '써', rule: 'v', reasons: ['-아/어']}, 186 {term: '쓰다', source: '쓴다', rule: 'v', reasons: ['-(느)ㄴ다']}, 187 {term: '쓰다', source: '썼습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 188 {term: '쓰다', source: '썼어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 189 {term: '쓰다', source: '썼어', rule: 'v', reasons: ['-았/었', '-아/어']}, 190 {term: '쓰다', source: '썼다', rule: 'v', reasons: ['-았/었', '-다']}, 191 {term: '쓰다', source: '쓰겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 192 {term: '쓰다', source: '쓰겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 193 {term: '쓰다', source: '쓰겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 194 {term: '쓰다', source: '쓰겠다', rule: 'v', reasons: ['-겠', '-다']}, 195 {term: '쓰다', source: '씁니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 196 {term: '쓰다', source: '쓰냐', rule: 'v', reasons: ['-(으)냐']}, 197 {term: '쓰다', source: '썼습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 198 {term: '쓰다', source: '썼을까', rule: 'v', reasons: ['-았/었', '-(으)ㄹ까']}, 199 {term: '쓰다', source: '썼냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 200 {term: '쓰다', source: '쓰겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 201 {term: '쓰다', source: '쓰겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 202 {term: '쓰다', source: '쓰네', rule: 'v', reasons: ['-네']}, 203 // Adjective 쓰다 204 {term: '쓰다', source: '쓰구나', rule: 'adj', reasons: ['-구나']}, 205 {term: '쓰다', source: '쓰는구나', rule: 'v', reasons: ['-는구나']}, 206 {term: '쓰다', source: '씀', rule: 'v', reasons: ['-(으)ㅁ']}, 207 {term: '쓰다', source: '쓴', rule: 'v', reasons: ['-(으)ㄴ']}, 208 {term: '쓰다', source: '쓰게', rule: 'v', reasons: ['-게']}, 209 {term: '쓰다', source: '쓰고', rule: 'v', reasons: ['-고']}, 210 {term: '쓰다', source: '쓰면', rule: 'v', reasons: ['-(으)면']}, 211 {term: '쓰다', source: '쓰니', rule: 'v', reasons: ['-(으)니']}, 212 {term: '쓰다', source: '쓰세요', rule: 'v', reasons: ['-(으)세요']}, 213 {term: '쓰다', source: '써라', rule: 'v', reasons: ['-아/어라']}, 214 {term: '쓰다', source: '쓰십시오', rule: 'v', reasons: ['-(으)십시오']}, 215 {term: '쓰다', source: '쓰자', rule: 'v', reasons: ['-자']}, 216 {term: '쓰다', source: '씁시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 217 ], 218 }, 219 { 220 category: 'ㅣ다', 221 valid: true, 222 tests: [ 223 {term: '기다리다', source: '기다리다', rule: 'v', reasons: []}, 224 {term: '기다리다', source: '기다립니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 225 {term: '기다리다', source: '기다려요', rule: 'v', reasons: ['-아/어요']}, 226 {term: '기다리다', source: '기다려', rule: 'v', reasons: ['-아/어']}, 227 {term: '기다리다', source: '기다린다', rule: 'v', reasons: ['-(느)ㄴ다']}, 228 {term: '기다리다', source: '기다렸습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 229 {term: '기다리다', source: '기다렸어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 230 {term: '기다리다', source: '기다렸어', rule: 'v', reasons: ['-았/었', '-아/어']}, 231 {term: '기다리다', source: '기다렸다', rule: 'v', reasons: ['-았/었', '-다']}, 232 {term: '기다리다', source: '기다리겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 233 {term: '기다리다', source: '기다리겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 234 {term: '기다리다', source: '기다리겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 235 {term: '기다리다', source: '기다리겠다', rule: 'v', reasons: ['-겠', '-다']}, 236 {term: '기다리다', source: '기다립니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 237 {term: '기다리다', source: '기다리냐', rule: 'v', reasons: ['-(으)냐']}, 238 {term: '기다리다', source: '기다렸습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 239 {term: '기다리다', source: '기다렸냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 240 {term: '기다리다', source: '기다리겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 241 {term: '기다리다', source: '기다리겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 242 {term: '기다리다', source: '기다리네', rule: 'v', reasons: ['-네']}, 243 {term: '기다리다', source: '기다리는구나', rule: 'v', reasons: ['-는구나']}, 244 {term: '기다리다', source: '기다림', rule: 'v', reasons: ['-(으)ㅁ']}, 245 {term: '기다리다', source: '기다린', rule: 'v', reasons: ['-(으)ㄴ']}, 246 {term: '기다리다', source: '기다리게', rule: 'v', reasons: ['-게']}, 247 {term: '기다리다', source: '기다리고', rule: 'v', reasons: ['-고']}, 248 {term: '기다리다', source: '기다리면', rule: 'v', reasons: ['-(으)면']}, 249 {term: '기다리다', source: '기다리니', rule: 'v', reasons: ['-(으)니']}, 250 {term: '기다리다', source: '기다리십시오', rule: 'v', reasons: ['-(으)십시오']}, 251 {term: '기다리다', source: '기다리세요', rule: 'v', reasons: ['-(으)세요']}, 252 {term: '기다리다', source: '기다려라', rule: 'v', reasons: ['-아/어라']}, 253 {term: '기다리다', source: '기다립시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 254 {term: '기다리다', source: '기다리자', rule: 'v', reasons: ['-자']}, 255 ], 256 }, 257 { 258 category: 'ㅚ다', 259 valid: true, 260 tests: [ 261 {term: '되다', source: '되다', rule: 'v', reasons: []}, 262 {term: '되다', source: '됩니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 263 {term: '되다', source: '돼요', rule: 'v', reasons: ['-아/어요']}, 264 {term: '되다', source: '돼', rule: 'v', reasons: ['-아/어']}, 265 {term: '되다', source: '된다', rule: 'v', reasons: ['-(느)ㄴ다']}, 266 {term: '되다', source: '됐습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 267 {term: '되다', source: '됐어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 268 {term: '되다', source: '됐어', rule: 'v', reasons: ['-았/었', '-아/어']}, 269 {term: '되다', source: '됐다', rule: 'v', reasons: ['-았/었', '-다']}, 270 {term: '되다', source: '되겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 271 {term: '되다', source: '되겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 272 {term: '되다', source: '되겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 273 {term: '되다', source: '되겠다', rule: 'v', reasons: ['-겠', '-다']}, 274 {term: '되다', source: '됩니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 275 {term: '되다', source: '되냐', rule: 'v', reasons: ['-(으)냐']}, 276 {term: '되다', source: '됐습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 277 {term: '되다', source: '됐냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 278 {term: '되다', source: '되겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 279 {term: '되다', source: '되겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 280 {term: '되다', source: '되네', rule: 'v', reasons: ['-네']}, 281 {term: '되다', source: '되는구나', rule: 'v', reasons: ['-는구나']}, 282 {term: '되다', source: '됨', rule: 'v', reasons: ['-(으)ㅁ']}, 283 {term: '되다', source: '된', rule: 'v', reasons: ['-(으)ㄴ']}, 284 {term: '되다', source: '되게', rule: 'v', reasons: ['-게']}, 285 {term: '되다', source: '되고', rule: 'v', reasons: ['-고']}, 286 {term: '되다', source: '되면', rule: 'v', reasons: ['-(으)면']}, 287 {term: '되다', source: '되니', rule: 'v', reasons: ['-(으)니']}, 288 {term: '되다', source: '되십시오', rule: 'v', reasons: ['-(으)십시오']}, 289 {term: '되다', source: '되세요', rule: 'v', reasons: ['-(으)세요']}, 290 {term: '되다', source: '돼라', rule: 'v', reasons: ['-아/어라']}, 291 {term: '되다', source: '됩시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 292 {term: '되다', source: '되자', rule: 'v', reasons: ['-자']}, 293 ], 294 }, 295 { 296 category: 'ㅐ다', 297 valid: true, 298 tests: [ 299 {term: '보내다', source: '보내다', rule: 'v', reasons: []}, 300 {term: '보내다', source: '보냅니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 301 {term: '보내다', source: '보내요', rule: 'v', reasons: ['-아/어요']}, 302 {term: '보내다', source: '보내', rule: 'v', reasons: ['어간']}, 303 {term: '보내다', source: '보낸다', rule: 'v', reasons: ['-(느)ㄴ다']}, 304 {term: '보내다', source: '보냈습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 305 {term: '보내다', source: '보냈어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 306 {term: '보내다', source: '보냈어', rule: 'v', reasons: ['-았/었', '-아/어']}, 307 {term: '보내다', source: '보냈다', rule: 'v', reasons: ['-았/었', '-다']}, 308 {term: '보내다', source: '보내겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 309 {term: '보내다', source: '보내겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 310 {term: '보내다', source: '보내겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 311 {term: '보내다', source: '보내겠다', rule: 'v', reasons: ['-겠', '-다']}, 312 {term: '보내다', source: '보냅니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 313 {term: '보내다', source: '보내냐', rule: 'v', reasons: ['-(으)냐']}, 314 {term: '보내다', source: '보냈습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 315 {term: '보내다', source: '보냈냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 316 {term: '보내다', source: '보내겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 317 {term: '보내다', source: '보내겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 318 {term: '보내다', source: '보내네', rule: 'v', reasons: ['-네']}, 319 {term: '보내다', source: '보내는구나', rule: 'v', reasons: ['-는구나']}, 320 {term: '보내다', source: '보냄', rule: 'v', reasons: ['-(으)ㅁ']}, 321 {term: '보내다', source: '보낸', rule: 'v', reasons: ['-(으)ㄴ']}, 322 {term: '보내다', source: '보내게', rule: 'v', reasons: ['-게']}, 323 {term: '보내다', source: '보내고', rule: 'v', reasons: ['-고']}, 324 {term: '보내다', source: '보내면', rule: 'v', reasons: ['-(으)면']}, 325 {term: '보내다', source: '보내니', rule: 'v', reasons: ['-(으)니']}, 326 {term: '보내다', source: '보내십시오', rule: 'v', reasons: ['-(으)십시오']}, 327 {term: '보내다', source: '보내세요', rule: 'v', reasons: ['-(으)세요']}, 328 {term: '보내다', source: '보내라', rule: 'v', reasons: ['-아/어라']}, 329 {term: '보내다', source: '보냅시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 330 {term: '보내다', source: '보내자', rule: 'v', reasons: ['-자']}, 331 ], 332 }, 333 { 334 category: 'ㅕ다', 335 valid: true, 336 tests: [ 337 {term: '펴다', source: '펴다', rule: 'v', reasons: []}, 338 {term: '펴다', source: '폅니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 339 {term: '펴다', source: '펴요', rule: 'v', reasons: ['-아/어요']}, 340 {term: '펴다', source: '펴', rule: 'v', reasons: ['어간']}, 341 {term: '펴다', source: '편다', rule: 'v', reasons: ['-(느)ㄴ다']}, 342 {term: '펴다', source: '폈습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 343 {term: '펴다', source: '폈어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 344 {term: '펴다', source: '폈어', rule: 'v', reasons: ['-았/었', '-아/어']}, 345 {term: '펴다', source: '폈다', rule: 'v', reasons: ['-았/었', '-다']}, 346 {term: '펴다', source: '펴겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 347 {term: '펴다', source: '펴겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 348 {term: '펴다', source: '펴겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 349 {term: '펴다', source: '펴겠다', rule: 'v', reasons: ['-겠', '-다']}, 350 {term: '펴다', source: '폅니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 351 {term: '펴다', source: '펴냐', rule: 'v', reasons: ['-(으)냐']}, 352 {term: '펴다', source: '폈습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 353 {term: '펴다', source: '폈냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 354 {term: '펴다', source: '펴겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 355 {term: '펴다', source: '펴겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 356 {term: '펴다', source: '펴네', rule: 'v', reasons: ['-네']}, 357 {term: '펴다', source: '펴는구나', rule: 'v', reasons: ['-는구나']}, 358 {term: '펴다', source: '폄', rule: 'v', reasons: ['-(으)ㅁ']}, 359 {term: '펴다', source: '편', rule: 'v', reasons: ['-(으)ㄴ']}, 360 {term: '펴다', source: '펴게', rule: 'v', reasons: ['-게']}, 361 {term: '펴다', source: '펴고', rule: 'v', reasons: ['-고']}, 362 {term: '펴다', source: '펴면', rule: 'v', reasons: ['-(으)면']}, 363 {term: '펴다', source: '펴니', rule: 'v', reasons: ['-(으)니']}, 364 {term: '펴다', source: '펴십시오', rule: 'v', reasons: ['-(으)십시오']}, 365 {term: '펴다', source: '펴세요', rule: 'v', reasons: ['-(으)세요']}, 366 {term: '펴다', source: '펴라', rule: 'v', reasons: ['-아/어라']}, 367 {term: '펴다', source: '폅시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 368 {term: '펴다', source: '펴자', rule: 'v', reasons: ['-자']}, 369 ], 370 }, 371 { 372 category: 'ㅏ + consonant + 다', 373 valid: true, 374 tests: [ 375 {term: '받다', source: '받다', rule: 'v', reasons: []}, 376 {term: '받다', source: '받습니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 377 {term: '받다', source: '받아요', rule: 'v', reasons: ['-아/어요']}, 378 {term: '받다', source: '받아', rule: 'v', reasons: ['-아/어']}, 379 {term: '받다', source: '받는다', rule: 'v', reasons: ['-(느)ㄴ다']}, 380 {term: '받다', source: '받았습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 381 {term: '받다', source: '받았어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 382 {term: '받다', source: '받았어', rule: 'v', reasons: ['-았/었', '-아/어']}, 383 {term: '받다', source: '받았다', rule: 'v', reasons: ['-았/었', '-다']}, 384 {term: '받다', source: '받겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 385 {term: '받다', source: '받겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 386 {term: '받다', source: '받겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 387 {term: '받다', source: '받겠다', rule: 'v', reasons: ['-겠', '-다']}, 388 {term: '받다', source: '받습니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 389 {term: '받다', source: '받냐', rule: 'v', reasons: ['-(으)냐']}, 390 {term: '받다', source: '받았습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 391 {term: '받다', source: '받았냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 392 {term: '받다', source: '받겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 393 {term: '받다', source: '받겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 394 {term: '받다', source: '받네', rule: 'v', reasons: ['-네']}, 395 {term: '받다', source: '받는구나', rule: 'v', reasons: ['-는구나']}, 396 {term: '받다', source: '받음', rule: 'v', reasons: ['-(으)ㅁ']}, 397 {term: '받다', source: '받은', rule: 'v', reasons: ['-(으)ㄴ']}, 398 {term: '받다', source: '받게', rule: 'v', reasons: ['-게']}, 399 {term: '받다', source: '받고', rule: 'v', reasons: ['-고']}, 400 {term: '받다', source: '받으면', rule: 'v', reasons: ['-(으)면']}, 401 {term: '받다', source: '받으니', rule: 'v', reasons: ['-(으)니']}, 402 {term: '받다', source: '받으십시오', rule: 'v', reasons: ['-(으)십시오']}, 403 {term: '받다', source: '받으세요', rule: 'v', reasons: ['-(으)세요']}, 404 {term: '받다', source: '받아라', rule: 'v', reasons: ['-아/어라']}, 405 {term: '받다', source: '받읍시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 406 {term: '받다', source: '받자', rule: 'v', reasons: ['-자']}, 407 ], 408 }, 409 { 410 category: 'ㅗ + consonant + 다', 411 valid: true, 412 tests: [ 413 {term: '좋다', source: '좋다', rule: 'adj', reasons: []}, 414 {term: '좋다', source: '좋습니다', rule: 'adj', reasons: ['-(스)ㅂ니다']}, 415 {term: '좋다', source: '좋아요', rule: 'adj', reasons: ['-아/어요']}, 416 {term: '좋다', source: '좋아', rule: 'adj', reasons: ['-아/어']}, 417 {term: '좋다', source: '좋았습니다', rule: 'adj', reasons: ['-았/었', '-(스)ㅂ니다']}, 418 {term: '좋다', source: '좋았어요', rule: 'adj', reasons: ['-았/었', '-아/어요']}, 419 {term: '좋다', source: '좋았어', rule: 'adj', reasons: ['-았/었', '-아/어']}, 420 {term: '좋다', source: '좋았다', rule: 'adj', reasons: ['-았/었', '-다']}, 421 {term: '좋다', source: '좋겠습니다', rule: 'adj', reasons: ['-겠', '-(스)ㅂ니다']}, 422 {term: '좋다', source: '좋겠어요', rule: 'adj', reasons: ['-겠', '-아/어요']}, 423 {term: '좋다', source: '좋겠어', rule: 'adj', reasons: ['-겠', '-아/어']}, 424 {term: '좋다', source: '좋겠다', rule: 'adj', reasons: ['-겠', '-다']}, 425 {term: '좋다', source: '좋습니까', rule: 'adj', reasons: ['-(스)ㅂ니까']}, 426 {term: '좋다', source: '좋냐', rule: 'adj', reasons: ['-(으)냐']}, 427 {term: '좋다', source: '좋았습니까', rule: 'adj', reasons: ['-았/었', '-(스)ㅂ니까']}, 428 {term: '좋다', source: '좋았을까', rule: 'adj', reasons: ['-았/었', '-(으)ㄹ까']}, 429 {term: '좋다', source: '좋았냐', rule: 'adj', reasons: ['-았/었', '-(으)냐']}, 430 {term: '좋다', source: '좋겠습니까', rule: 'adj', reasons: ['-겠', '-(스)ㅂ니까']}, 431 {term: '좋다', source: '좋겠냐', rule: 'adj', reasons: ['-겠', '-(으)냐']}, 432 {term: '좋다', source: '좋네', rule: 'adj', reasons: ['-네']}, 433 {term: '좋다', source: '좋구나', rule: 'adj', reasons: ['-구나']}, 434 {term: '좋다', source: '좋음', rule: 'adj', reasons: ['-(으)ㅁ']}, 435 {term: '좋다', source: '좋은', rule: 'adj', reasons: ['-(으)ㄴ']}, 436 {term: '좋다', source: '좋게', rule: 'adj', reasons: ['-게']}, 437 {term: '좋다', source: '좋고', rule: 'adj', reasons: ['-고']}, 438 {term: '좋다', source: '좋으면', rule: 'adj', reasons: ['-(으)면']}, 439 {term: '좋다', source: '좋으니', rule: 'adj', reasons: ['-(으)니']}, 440 ], 441 }, 442 { 443 category: 'other vowel + consonant + 다', 444 valid: true, 445 tests: [ 446 {term: '먹다', source: '먹다', rule: 'v', reasons: []}, 447 {term: '먹다', source: '먹습니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 448 {term: '먹다', source: '먹어요', rule: 'v', reasons: ['-아/어요']}, 449 {term: '먹다', source: '먹어', rule: 'v', reasons: ['-아/어']}, 450 {term: '먹다', source: '먹는다', rule: 'v', reasons: ['-(느)ㄴ다']}, 451 {term: '먹다', source: '먹었습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 452 {term: '먹다', source: '먹었어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 453 {term: '먹다', source: '먹었어', rule: 'v', reasons: ['-았/었', '-아/어']}, 454 {term: '먹다', source: '먹었다', rule: 'v', reasons: ['-았/었', '-다']}, 455 {term: '먹다', source: '먹겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 456 {term: '먹다', source: '먹겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 457 {term: '먹다', source: '먹겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 458 {term: '먹다', source: '먹겠다', rule: 'v', reasons: ['-겠', '-다']}, 459 {term: '먹다', source: '먹습니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 460 {term: '먹다', source: '먹냐', rule: 'v', reasons: ['-(으)냐']}, 461 {term: '먹다', source: '먹었습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 462 {term: '먹다', source: '먹었냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 463 {term: '먹다', source: '먹겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 464 {term: '먹다', source: '먹겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 465 {term: '먹다', source: '먹네', rule: 'v', reasons: ['-네']}, 466 {term: '먹다', source: '먹는구나', rule: 'v', reasons: ['-는구나']}, 467 {term: '먹다', source: '먹음', rule: 'v', reasons: ['-(으)ㅁ']}, 468 {term: '먹다', source: '먹은', rule: 'v', reasons: ['-(으)ㄴ']}, 469 {term: '먹다', source: '먹게', rule: 'v', reasons: ['-게']}, 470 {term: '먹다', source: '먹고', rule: 'v', reasons: ['-고']}, 471 {term: '먹다', source: '먹으면', rule: 'v', reasons: ['-(으)면']}, 472 {term: '먹다', source: '먹으니', rule: 'v', reasons: ['-(으)니']}, 473 {term: '먹다', source: '먹으십시오', rule: 'v', reasons: ['-(으)십시오']}, 474 {term: '먹다', source: '먹으세요', rule: 'v', reasons: ['-(으)세요']}, 475 {term: '먹다', source: '먹어라', rule: 'v', reasons: ['-아/어라']}, 476 {term: '먹다', source: '먹읍시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 477 {term: '먹다', source: '먹자', rule: 'v', reasons: ['-자']}, 478 ], 479 }, 480 { 481 category: '하다', 482 valid: true, 483 tests: [ 484 {term: '하다', source: '하다', rule: 'v', reasons: []}, 485 {term: '하다', source: '합니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 486 {term: '하다', source: '해요', rule: 'v', reasons: ['-아/어요']}, 487 {term: '하다', source: '해', rule: 'v', reasons: ['-아/어']}, 488 {term: '하다', source: '한다', rule: 'v', reasons: ['-(느)ㄴ다']}, 489 {term: '하다', source: '했습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 490 {term: '하다', source: '했어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 491 {term: '하다', source: '했어', rule: 'v', reasons: ['-았/었', '-아/어']}, 492 {term: '하다', source: '했다', rule: 'v', reasons: ['-았/었', '-다']}, 493 {term: '하다', source: '하겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 494 {term: '하다', source: '하겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 495 {term: '하다', source: '하겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 496 {term: '하다', source: '하겠다', rule: 'v', reasons: ['-겠', '-다']}, 497 {term: '하다', source: '합니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 498 {term: '하다', source: '하냐', rule: 'v', reasons: ['-(으)냐']}, 499 {term: '하다', source: '했습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 500 {term: '하다', source: '했냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 501 {term: '하다', source: '하겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 502 {term: '하다', source: '하겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 503 {term: '하다', source: '하네', rule: 'v', reasons: ['-네']}, 504 {term: '하다', source: '하는구나', rule: 'v', reasons: ['-는구나']}, 505 {term: '하다', source: '함', rule: 'v', reasons: ['-(으)ㅁ']}, 506 {term: '하다', source: '한', rule: 'v', reasons: ['-(으)ㄴ']}, 507 {term: '하다', source: '하게', rule: 'v', reasons: ['-게']}, 508 {term: '하다', source: '하고', rule: 'v', reasons: ['-고']}, 509 {term: '하다', source: '하면', rule: 'v', reasons: ['-(으)면']}, 510 {term: '하다', source: '하니', rule: 'v', reasons: ['-(으)니']}, 511 {term: '하다', source: '하십시오', rule: 'v', reasons: ['-(으)십시오']}, 512 {term: '하다', source: '하세요', rule: 'v', reasons: ['-(으)세요']}, 513 {term: '하다', source: '해라', rule: 'v', reasons: ['-아/어라']}, 514 {term: '하다', source: '합시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 515 {term: '하다', source: '하자', rule: 'v', reasons: ['-자']}, 516 517 {term: '공부하다', source: '공부하다', rule: 'v', reasons: []}, 518 {term: '공부하다', source: '공부합니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 519 {term: '공부하다', source: '공부해요', rule: 'v', reasons: ['-아/어요']}, 520 {term: '공부하다', source: '공부해', rule: 'v', reasons: ['-아/어']}, 521 {term: '공부하다', source: '공부한다', rule: 'v', reasons: ['-(느)ㄴ다']}, 522 {term: '공부하다', source: '공부했습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 523 {term: '공부하다', source: '공부했어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 524 {term: '공부하다', source: '공부했어', rule: 'v', reasons: ['-았/었', '-아/어']}, 525 {term: '공부하다', source: '공부했다', rule: 'v', reasons: ['-았/었', '-다']}, 526 {term: '공부하다', source: '공부하겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 527 {term: '공부하다', source: '공부하겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 528 {term: '공부하다', source: '공부하겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 529 {term: '공부하다', source: '공부하겠다', rule: 'v', reasons: ['-겠', '-다']}, 530 {term: '공부하다', source: '공부합니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 531 {term: '공부하다', source: '공부하냐', rule: 'v', reasons: ['-(으)냐']}, 532 {term: '공부하다', source: '공부했습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 533 {term: '공부하다', source: '공부했냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 534 {term: '공부하다', source: '공부하겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 535 {term: '공부하다', source: '공부하겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 536 {term: '공부하다', source: '공부하네', rule: 'v', reasons: ['-네']}, 537 {term: '공부하다', source: '공부하는구나', rule: 'v', reasons: ['-는구나']}, 538 {term: '공부하다', source: '공부함', rule: 'v', reasons: ['-(으)ㅁ']}, 539 {term: '공부하다', source: '공부한', rule: 'v', reasons: ['-(으)ㄴ']}, 540 {term: '공부하다', source: '공부하게', rule: 'v', reasons: ['-게']}, 541 {term: '공부하다', source: '공부하고', rule: 'v', reasons: ['-고']}, 542 {term: '공부하다', source: '공부하면', rule: 'v', reasons: ['-(으)면']}, 543 {term: '공부하다', source: '공부하니', rule: 'v', reasons: ['-(으)니']}, 544 {term: '공부하다', source: '공부하십시오', rule: 'v', reasons: ['-(으)십시오']}, 545 {term: '공부하다', source: '공부하세요', rule: 'v', reasons: ['-(으)세요']}, 546 {term: '공부하다', source: '공부해라', rule: 'v', reasons: ['-아/어라']}, 547 {term: '공부하다', source: '공부합시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 548 {term: '공부하다', source: '공부하자', rule: 'v', reasons: ['-자']}, 549 ], 550 }, 551 { 552 category: 'ㅅ다 irregular', 553 valid: true, 554 tests: [ 555 {term: '짓다', source: '짓다', rule: 'v', reasons: []}, 556 {term: '짓다', source: '짓습니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 557 {term: '짓다', source: '지어요', rule: 'v', reasons: ['-아/어요']}, 558 {term: '짓다', source: '지어', rule: 'v', reasons: ['-아/어']}, 559 {term: '짓다', source: '짓는다', rule: 'v', reasons: ['-(느)ㄴ다']}, 560 {term: '짓다', source: '지었습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 561 {term: '짓다', source: '지었어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 562 {term: '짓다', source: '지었어', rule: 'v', reasons: ['-았/었', '-아/어']}, 563 {term: '짓다', source: '지었다', rule: 'v', reasons: ['-았/었', '-다']}, 564 {term: '짓다', source: '짓겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 565 {term: '짓다', source: '짓겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 566 {term: '짓다', source: '짓겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 567 {term: '짓다', source: '짓겠다', rule: 'v', reasons: ['-겠', '-다']}, 568 {term: '짓다', source: '짓습니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 569 {term: '짓다', source: '짓냐', rule: 'v', reasons: ['-(으)냐']}, 570 {term: '짓다', source: '지었습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 571 {term: '짓다', source: '지었냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 572 {term: '짓다', source: '짓겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 573 {term: '짓다', source: '짓겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 574 {term: '짓다', source: '짓네', rule: 'v', reasons: ['-네']}, 575 {term: '짓다', source: '짓는구나', rule: 'v', reasons: ['-는구나']}, 576 {term: '짓다', source: '지음', rule: 'v', reasons: ['-(으)ㅁ']}, 577 {term: '짓다', source: '지은', rule: 'v', reasons: ['-(으)ㄴ']}, 578 {term: '짓다', source: '짓게', rule: 'v', reasons: ['-게']}, 579 {term: '짓다', source: '짓고', rule: 'v', reasons: ['-고']}, 580 {term: '짓다', source: '지으면', rule: 'v', reasons: ['-(으)면']}, 581 {term: '짓다', source: '지으니', rule: 'v', reasons: ['-(으)니']}, 582 {term: '짓다', source: '지으십시오', rule: 'v', reasons: ['-(으)십시오']}, 583 {term: '짓다', source: '지으세요', rule: 'v', reasons: ['-(으)세요']}, 584 {term: '짓다', source: '지어라', rule: 'v', reasons: ['-아/어라']}, 585 {term: '짓다', source: '지읍시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 586 {term: '짓다', source: '짓자', rule: 'v', reasons: ['-자']}, 587 ], 588 }, 589 { 590 category: 'ㄷ다 irregular', 591 valid: true, 592 tests: [ 593 {term: '걷다', source: '걷다', rule: 'v', reasons: []}, 594 {term: '걷다', source: '걷습니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 595 {term: '걷다', source: '걸어', rule: 'v', reasons: ['-아/어']}, 596 {term: '걷다', source: '걸어요', rule: 'v', reasons: ['-아/어요']}, 597 {term: '걷다', source: '걷는다', rule: 'v', reasons: ['-(느)ㄴ다']}, 598 {term: '걷다', source: '걸었다', rule: 'v', reasons: ['-았/었', '-다']}, 599 {term: '걷다', source: '걸었습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 600 {term: '걷다', source: '걸었어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 601 {term: '걷다', source: '걸었어', rule: 'v', reasons: ['-았/었', '-아/어']}, 602 {term: '걷다', source: '걷겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 603 {term: '걷다', source: '걷겠다', rule: 'v', reasons: ['-겠', '-다']}, 604 {term: '걷다', source: '걷겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 605 {term: '걷다', source: '걷겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 606 {term: '걷다', source: '걷겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 607 {term: '걷다', source: '걷습니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 608 {term: '걷다', source: '걷냐', rule: 'v', reasons: ['-(으)냐']}, 609 {term: '걷다', source: '걸었냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 610 {term: '걷다', source: '걸었습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 611 {term: '걷다', source: '걷겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 612 {term: '걷다', source: '걷겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 613 {term: '걷다', source: '걷네', rule: 'v', reasons: ['-네']}, 614 {term: '걷다', source: '걷는구나', rule: 'v', reasons: ['-는구나']}, 615 {term: '걷다', source: '걸음', rule: 'v', reasons: ['-(으)ㅁ']}, 616 {term: '걷다', source: '걸은', rule: 'v', reasons: ['-(으)ㄴ']}, 617 {term: '걷다', source: '걷게', rule: 'v', reasons: ['-게']}, 618 {term: '걷다', source: '걷고', rule: 'v', reasons: ['-고']}, 619 {term: '걷다', source: '걸으니', rule: 'v', reasons: ['-(으)니']}, 620 {term: '걷다', source: '걸으면', rule: 'v', reasons: ['-(으)면']}, 621 {term: '걷다', source: '걸으세요', rule: 'v', reasons: ['-(으)세요']}, 622 {term: '걷다', source: '걸어라', rule: 'v', reasons: ['-아/어라']}, 623 {term: '걷다', source: '걸으십시오', rule: 'v', reasons: ['-(으)십시오']}, 624 {term: '걷다', source: '걷자', rule: 'v', reasons: ['-자']}, 625 {term: '걷다', source: '걸읍시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 626 ], 627 }, 628 { 629 category: 'ㅂ다 irregular', 630 valid: true, 631 tests: [ 632 {term: '아름답다', source: '아름답다', rule: 'adj', reasons: []}, 633 {term: '아름답다', source: '아름답습니다', rule: 'adj', reasons: ['-(스)ㅂ니다']}, 634 {term: '아름답다', source: '아름다워요', rule: 'adj', reasons: ['-아/어요']}, 635 {term: '아름답다', source: '아름다워', rule: 'adj', reasons: ['-아/어']}, 636 {term: '아름답다', source: '아름다웠습니다', rule: 'adj', reasons: ['-았/었', '-(스)ㅂ니다']}, 637 {term: '아름답다', source: '아름다웠어요', rule: 'adj', reasons: ['-았/었', '-아/어요']}, 638 {term: '아름답다', source: '아름다웠어', rule: 'adj', reasons: ['-았/었', '-아/어']}, 639 {term: '아름답다', source: '아름다웠다', rule: 'adj', reasons: ['-았/었', '-다']}, 640 {term: '아름답다', source: '아름답겠습니다', rule: 'adj', reasons: ['-겠', '-(스)ㅂ니다']}, 641 {term: '아름답다', source: '아름답겠어요', rule: 'adj', reasons: ['-겠', '-아/어요']}, 642 {term: '아름답다', source: '아름답겠어', rule: 'adj', reasons: ['-겠', '-아/어']}, 643 {term: '아름답다', source: '아름답겠다', rule: 'adj', reasons: ['-겠', '-다']}, 644 {term: '아름답다', source: '아름답습니까', rule: 'adj', reasons: ['-(스)ㅂ니까']}, 645 {term: '아름답다', source: '아름답냐', rule: 'adj', reasons: ['-(으)냐']}, 646 {term: '아름답다', source: '아름다웠습니까', rule: 'adj', reasons: ['-았/었', '-(스)ㅂ니까']}, 647 {term: '아름답다', source: '아름다웠을까', rule: 'adj', reasons: ['-았/었', '-(으)ㄹ까']}, 648 {term: '아름답다', source: '아름다웠냐', rule: 'adj', reasons: ['-았/었', '-(으)냐']}, 649 {term: '아름답다', source: '아름답겠습니까', rule: 'adj', reasons: ['-겠', '-(스)ㅂ니까']}, 650 {term: '아름답다', source: '아름답겠냐', rule: 'adj', reasons: ['-겠', '-(으)냐']}, 651 {term: '아름답다', source: '아름답네', rule: 'adj', reasons: ['-네']}, 652 {term: '아름답다', source: '아름답구나', rule: 'adj', reasons: ['-구나']}, 653 {term: '아름답다', source: '아름다움', rule: 'adj', reasons: ['-(으)ㅁ']}, 654 {term: '아름답다', source: '아름다운', rule: 'adj', reasons: ['-(으)ㄴ']}, 655 {term: '아름답다', source: '아름답게', rule: 'adj', reasons: ['-게']}, 656 {term: '아름답다', source: '아름답고', rule: 'adj', reasons: ['-고']}, 657 {term: '아름답다', source: '아름다우면', rule: 'adj', reasons: ['-(으)면']}, 658 {term: '아름답다', source: '아름다우니', rule: 'adj', reasons: ['-(으)니']}, 659 660 {term: '돕다', source: '돕다', rule: 'v', reasons: []}, 661 {term: '돕다', source: '돕습니다', rule: 'v', reasons: ['-(스)ㅂ니다']}, 662 {term: '돕다', source: '도와요', rule: 'v', reasons: ['-아/어요']}, 663 {term: '돕다', source: '도와', rule: 'v', reasons: ['-아/어']}, 664 {term: '돕다', source: '도왔습니다', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니다']}, 665 {term: '돕다', source: '도왔어요', rule: 'v', reasons: ['-았/었', '-아/어요']}, 666 {term: '돕다', source: '도왔어', rule: 'v', reasons: ['-았/었', '-아/어']}, 667 {term: '돕다', source: '도왔다', rule: 'v', reasons: ['-았/었', '-다']}, 668 {term: '돕다', source: '돕겠습니다', rule: 'v', reasons: ['-겠', '-(스)ㅂ니다']}, 669 {term: '돕다', source: '돕겠어요', rule: 'v', reasons: ['-겠', '-아/어요']}, 670 {term: '돕다', source: '돕겠어', rule: 'v', reasons: ['-겠', '-아/어']}, 671 {term: '돕다', source: '돕겠다', rule: 'v', reasons: ['-겠', '-다']}, 672 {term: '돕다', source: '돕습니까', rule: 'v', reasons: ['-(스)ㅂ니까']}, 673 {term: '돕다', source: '돕냐', rule: 'v', reasons: ['-(으)냐']}, 674 {term: '돕다', source: '도왔습니까', rule: 'v', reasons: ['-았/었', '-(스)ㅂ니까']}, 675 {term: '돕다', source: '도왔냐', rule: 'v', reasons: ['-았/었', '-(으)냐']}, 676 {term: '돕다', source: '돕겠습니까', rule: 'v', reasons: ['-겠', '-(스)ㅂ니까']}, 677 {term: '돕다', source: '돕겠냐', rule: 'v', reasons: ['-겠', '-(으)냐']}, 678 {term: '돕다', source: '돕네', rule: 'v', reasons: ['-네']}, 679 {term: '돕다', source: '돕는구나', rule: 'v', reasons: ['-는구나']}, 680 {term: '돕다', source: '도움', rule: 'v', reasons: ['-(으)ㅁ']}, 681 {term: '돕다', source: '도운', rule: 'v', reasons: ['-(으)ㄴ']}, 682 {term: '돕다', source: '돕게', rule: 'v', reasons: ['-게']}, 683 {term: '돕다', source: '돕고', rule: 'v', reasons: ['-고']}, 684 {term: '돕다', source: '도우면', rule: 'v', reasons: ['-(으)면']}, 685 {term: '돕다', source: '도우니', rule: 'v', reasons: ['-(으)니']}, 686 {term: '돕다', source: '도우십시오', rule: 'v', reasons: ['-(으)십시오']}, 687 {term: '돕다', source: '도우세요', rule: 'v', reasons: ['-(으)세요']}, 688 {term: '돕다', source: '도와라', rule: 'v', reasons: ['-아/어라']}, 689 {term: '돕다', source: '도웁시다', rule: 'v', reasons: ['-(으)ㅂ시다']}, 690 {term: '돕다', source: '돕자', rule: 'v', reasons: ['-자']}, 691 ], 692 }, 693 { 694 category: '이다', 695 valid: true, 696 tests: [ 697 {term: '이다', source: '이어서', rule: 'ida', reasons: ['-아/어서']}, 698 {term: '이다', source: '이어야', rule: 'ida', reasons: ['-아/어야']}, 699 {term: '이다', source: '이어야겠', rule: 'ida', reasons: ['-아/어야겠']}, 700 {term: '이다', source: '이어야만', rule: 'ida', reasons: ['-아/어야만']}, 701 {term: '이다', source: '이어야지', rule: 'ida', reasons: ['-아/어야지']}, 702 {term: '이다', source: '이어요', rule: 'ida', reasons: ['-아/어요']}, 703 {term: '이다', source: '이어', rule: 'ida', reasons: ['-아/어']}, 704 {term: '이다', source: '이어다', rule: 'ida', reasons: ['-아/어다']}, 705 {term: '이다', source: '이어다가', rule: 'ida', reasons: ['-아/어다가']}, 706 {term: '이다', source: '이어도', rule: 'ida', reasons: ['-아/어도']}, 707 {term: '이다', source: '이어라', rule: 'ida', reasons: ['-아/어라']}, 708 {term: '이다', source: '이어지이다', rule: 'ida', reasons: ['-아/어지이다']}, 709 {term: '이다', source: '이었었', rule: 'ida', reasons: ['-았/었었']}, 710 {term: '이다', source: '이었자', rule: 'ida', reasons: ['-았/었자']}, 711 712 {term: '이다', source: '여서', rule: 'ida', reasons: ['-아/어서']}, 713 {term: '이다', source: '여야', rule: 'ida', reasons: ['-아/어야']}, 714 {term: '이다', source: '여야겠', rule: 'ida', reasons: ['-아/어야겠']}, 715 {term: '이다', source: '여야만', rule: 'ida', reasons: ['-아/어야만']}, 716 {term: '이다', source: '여야지', rule: 'ida', reasons: ['-아/어야지']}, 717 {term: '이다', source: '여요', rule: 'ida', reasons: ['-아/어요']}, 718 {term: '이다', source: '여', rule: 'ida', reasons: ['-아/어']}, 719 {term: '이다', source: '여다', rule: 'ida', reasons: ['-아/어다']}, 720 {term: '이다', source: '여다가', rule: 'ida', reasons: ['-아/어다가']}, 721 {term: '이다', source: '여도', rule: 'ida', reasons: ['-아/어도']}, 722 {term: '이다', source: '여라', rule: 'ida', reasons: ['-아/어라']}, 723 {term: '이다', source: '여지이다', rule: 'ida', reasons: ['-아/어지이다']}, 724 {term: '이다', source: '였었', rule: 'ida', reasons: ['-았/었었']}, 725 {term: '이다', source: '였자', rule: 'ida', reasons: ['-았/었자']}, 726 727 {term: '이다', source: '이야', rule: 'ida', reasons: ['-야']}, 728 {term: '이다', source: '일거나', rule: 'ida', reasons: ['-(으)ㄹ거나']}, 729 {term: '이다', source: '일 거야', rule: 'ida', reasons: ['-(으)ㄹ 거야']}, 730 {term: '이다', source: '일 거예요', rule: 'ida', reasons: ['-(으)ㄹ 거예요']}, 731 {term: '이다', source: '일 것이다', rule: 'ida', reasons: ['-(으)ㄹ 것이다']}, 732 {term: '이다', source: '일 것입니다', rule: 'ida', reasons: ['-(으)ㄹ 것입니다']}, 733 {term: '이다', source: '일 거다', rule: 'ida', reasons: ['-(으)ㄹ 거다']}, 734 {term: '이다', source: '일 겁니다', rule: 'ida', reasons: ['-(으)ㄹ 겁니다']}, 735 {term: '이다', source: '일께', rule: 'ida', reasons: ['-(으)ㄹ께']}, 736 {term: '이다', source: '이나', rule: 'ida', reasons: ['-(으)나']}, 737 {term: '이다', source: '인', rule: 'ida', reasons: ['-(으)ㄴ']}, 738 {term: '이다', source: '예요', rule: 'ida', reasons: ['-아/어요']}, 739 ], 740 }, 741 { 742 category: 'invalid deinflections', 743 valid: false, 744 tests: [ 745 {term: '보다', source: '보십시다', rule: 'v', reasons: ['-(으)시', '-(으)ㅂ시다']}, 746 747 // ida 748 {term: '이다', source: '이서', rule: 'ida', reasons: ['아/어서']}, 749 {term: '이다', source: '이야', rule: 'ida', reasons: ['아/어야']}, 750 {term: '이다', source: '이야겠', rule: 'ida', reasons: ['아/어야겠']}, 751 {term: '이다', source: '이야만', rule: 'ida', reasons: ['아/어야만']}, 752 {term: '이다', source: '이야지', rule: 'ida', reasons: ['아/어야지']}, 753 {term: '이다', source: '이요', rule: 'ida', reasons: ['아/어요']}, 754 {term: '이다', source: '이는', rule: 'ida', reasons: ['-는']}, 755 ], 756 }, 757]; 758/* eslint-enable @stylistic/no-multi-spaces */ 759 760// Preprocessing 761/** 762 * @param {string} str 763 * @returns {string} 764 */ 765function disassemble(str) { 766 return Hangul.disassemble(str, false).join(''); 767} 768 769const languageTransformer = new LanguageTransformer(); 770languageTransformer.addDescriptor(koreanTransforms); 771testLanguageTransformer(languageTransformer, tests, disassemble);