aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2020-12-08 20:29:42 -0500
committerGitHub <noreply@github.com>2020-12-08 20:29:42 -0500
commit2be81cbb77f8a15f9049048078d69d5fee871f33 (patch)
tree4c0fd918a061ee7d94dde5bb7bda9a44c544b5da
parent2910685a96280acfe4a454c014bc0316347d9085 (diff)
Update/test deinflector (#1087)
* Update formatting * Add missing rule for progressive/perfect * Add adnomial -ki rule * Update rules for irregular verbs * Organize rules by rulesOut For the most part, the order is: adj-i => v1 => v5 => vs => vk => other * Add tests
-rw-r--r--ext/bg/lang/deinflect.json4163
-rw-r--r--test/test-deinflector.js826
2 files changed, 1322 insertions, 3667 deletions
diff --git a/ext/bg/lang/deinflect.json b/ext/bg/lang/deinflect.json
index a0b6baa1..914c9947 100644
--- a/ext/bg/lang/deinflect.json
+++ b/ext/bg/lang/deinflect.json
@@ -1,3731 +1,560 @@
{
"-ba": [
- {
- "kanaIn": "えば",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "けば",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "げば",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "せば",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "てば",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ねば",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "べば",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "めば",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "れば",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "v5",
- "vk",
- "vs"
- ]
- },
- {
- "kanaIn": "ければ",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "ければ", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "えば", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "けば", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "げば", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "せば", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "てば", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ねば", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "べば", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "めば", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "れば", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1", "v5", "vk", "vs"]}
],
"-chau": [
- {
- "kanaIn": "ちゃう",
- "kanaOut": "る",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いじゃう",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いちゃう",
- "kanaOut": "く",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きちゃう",
- "kanaOut": "くる",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "しちゃう",
- "kanaOut": "す",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しちゃう",
- "kanaOut": "する",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "っちゃう",
- "kanaOut": "う",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "っちゃう",
- "kanaOut": "く",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "っちゃう",
- "kanaOut": "つ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "っちゃう",
- "kanaOut": "る",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んじゃう",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んじゃう",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んじゃう",
- "kanaOut": "む",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ちゃう", "kanaOut": "る", "rulesIn": ["v5"], "rulesOut": ["v1"]},
+ {"kanaIn": "いじゃう", "kanaOut": "ぐ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "いちゃう", "kanaOut": "く", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "しちゃう", "kanaOut": "す", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っちゃう", "kanaOut": "う", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っちゃう", "kanaOut": "く", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っちゃう", "kanaOut": "つ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っちゃう", "kanaOut": "る", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んじゃう", "kanaOut": "ぬ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んじゃう", "kanaOut": "ぶ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んじゃう", "kanaOut": "む", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "しちゃう", "kanaOut": "する", "rulesIn": ["v5"], "rulesOut": ["vs"]},
+ {"kanaIn": "為ちゃう", "kanaOut": "為る", "rulesIn": ["v5"], "rulesOut": ["vs"]},
+ {"kanaIn": "きちゃう", "kanaOut": "くる", "rulesIn": ["v5"], "rulesOut": ["vk"]},
+ {"kanaIn": "来ちゃう", "kanaOut": "来る", "rulesIn": ["v5"], "rulesOut": ["vk"]},
+ {"kanaIn": "來ちゃう", "kanaOut": "來る", "rulesIn": ["v5"], "rulesOut": ["vk"]}
],
"-nasai": [
- {
- "kanaIn": "なさい",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いなさい",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きなさい",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きなさい",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎなさい",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しなさい",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しなさい",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちなさい",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "になさい",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びなさい",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みなさい",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りなさい",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "なさい", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いなさい", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きなさい", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎなさい", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しなさい", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちなさい", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "になさい", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びなさい", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みなさい", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りなさい", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しなさい", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為なさい", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きなさい", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来なさい", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來なさい", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"-sou": [
- {
- "kanaIn": "そう",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "そう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いそう",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きそう",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きそう",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎそう",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しそう",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しそう",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちそう",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にそう",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びそう",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みそう",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りそう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "そう", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "そう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いそう", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きそう", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎそう", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しそう", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちそう", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にそう", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びそう", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みそう", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りそう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しそう", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為そう", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きそう", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来そう", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來そう", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"-sugiru": [
- {
- "kanaIn": "すぎる",
- "kanaOut": "い",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "すぎる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いすぎる",
- "kanaOut": "う",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きすぎる",
- "kanaOut": "く",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きすぎる",
- "kanaOut": "くる",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎすぎる",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しすぎる",
- "kanaOut": "す",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しすぎる",
- "kanaOut": "する",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちすぎる",
- "kanaOut": "つ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にすぎる",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びすぎる",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みすぎる",
- "kanaOut": "む",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りすぎる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "すぎる", "kanaOut": "い", "rulesIn": ["v1"], "rulesOut": ["adj-i"]},
+ {"kanaIn": "すぎる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v1"]},
+ {"kanaIn": "いすぎる", "kanaOut": "う", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "きすぎる", "kanaOut": "く", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎすぎる", "kanaOut": "ぐ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "しすぎる", "kanaOut": "す", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ちすぎる", "kanaOut": "つ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "にすぎる", "kanaOut": "ぬ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "びすぎる", "kanaOut": "ぶ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "みすぎる", "kanaOut": "む", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "りすぎる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "しすぎる", "kanaOut": "する", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "為すぎる", "kanaOut": "為る", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "きすぎる", "kanaOut": "くる", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "来すぎる", "kanaOut": "来る", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "來すぎる", "kanaOut": "來る", "rulesIn": ["v1"], "rulesOut": ["vk"]}
],
"-tai": [
- {
- "kanaIn": "たい",
- "kanaOut": "る",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いたい",
- "kanaOut": "う",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きたい",
- "kanaOut": "く",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きたい",
- "kanaOut": "くる",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎたい",
- "kanaOut": "ぐ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "したい",
- "kanaOut": "す",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "したい",
- "kanaOut": "する",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちたい",
- "kanaOut": "つ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にたい",
- "kanaOut": "ぬ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びたい",
- "kanaOut": "ぶ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みたい",
- "kanaOut": "む",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りたい",
- "kanaOut": "る",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "たい", "kanaOut": "る", "rulesIn": ["adj-i"], "rulesOut": ["v1"]},
+ {"kanaIn": "いたい", "kanaOut": "う", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "きたい", "kanaOut": "く", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎたい", "kanaOut": "ぐ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "したい", "kanaOut": "す", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "ちたい", "kanaOut": "つ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "にたい", "kanaOut": "ぬ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "びたい", "kanaOut": "ぶ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "みたい", "kanaOut": "む", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "りたい", "kanaOut": "る", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "したい", "kanaOut": "する", "rulesIn": ["adj-i"], "rulesOut": ["vs"]},
+ {"kanaIn": "為たい", "kanaOut": "為る", "rulesIn": ["adj-i"], "rulesOut": ["vs"]},
+ {"kanaIn": "きたい", "kanaOut": "くる", "rulesIn": ["adj-i"], "rulesOut": ["vk"]},
+ {"kanaIn": "来たい", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]},
+ {"kanaIn": "來たい", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}
],
"-tara": [
- {
- "kanaIn": "たら",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いたら",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いだら",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きたら",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "したら",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "したら",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ったら",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ったら",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ったら",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだら",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだら",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだら",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "かったら",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "のたもうたら",
- "kanaOut": "のたまう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いったら",
- "kanaOut": "いく",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "おうたら",
- "kanaOut": "おう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こうたら",
- "kanaOut": "こう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "そうたら",
- "kanaOut": "そう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とうたら",
- "kanaOut": "とう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "行ったら",
- "kanaOut": "行く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "逝ったら",
- "kanaOut": "逝く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "往ったら",
- "kanaOut": "往く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "請うたら",
- "kanaOut": "請う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "乞うたら",
- "kanaOut": "乞う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "恋うたら",
- "kanaOut": "恋う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "問うたら",
- "kanaOut": "問う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "負うたら",
- "kanaOut": "負う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "沿うたら",
- "kanaOut": "沿う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "添うたら",
- "kanaOut": "添う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "副うたら",
- "kanaOut": "副う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "厭うたら",
- "kanaOut": "厭う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "かったら", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "たら", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いたら", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "いだら", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "したら", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったら", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったら", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったら", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだら", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだら", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだら", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "したら", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為たら", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きたら", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来たら", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來たら", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "いったら", "kanaOut": "いく", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "おうたら", "kanaOut": "おう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "こうたら", "kanaOut": "こう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "そうたら", "kanaOut": "そう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "とうたら", "kanaOut": "とう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "行ったら", "kanaOut": "行く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "逝ったら", "kanaOut": "逝く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "往ったら", "kanaOut": "往く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "請うたら", "kanaOut": "請う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "乞うたら", "kanaOut": "乞う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "恋うたら", "kanaOut": "恋う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "問うたら", "kanaOut": "問う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "負うたら", "kanaOut": "負う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "沿うたら", "kanaOut": "沿う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "添うたら", "kanaOut": "添う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "副うたら", "kanaOut": "副う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "厭うたら", "kanaOut": "厭う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "のたもうたら", "kanaOut": "のたまう", "rulesIn": [], "rulesOut": ["v5"]}
],
"-tari": [
- {
- "kanaIn": "たり",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いたり",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いだり",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きたり",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "したり",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "したり",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ったり",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ったり",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ったり",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだり",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだり",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだり",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "かったり",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "のたもうたり",
- "kanaOut": "のたまう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いったり",
- "kanaOut": "いく",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "おうたり",
- "kanaOut": "おう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こうたり",
- "kanaOut": "こう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "そうたり",
- "kanaOut": "そう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とうたり",
- "kanaOut": "とう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "行ったり",
- "kanaOut": "行く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "逝ったり",
- "kanaOut": "逝く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "往ったり",
- "kanaOut": "往く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "請うたり",
- "kanaOut": "請う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "乞うたり",
- "kanaOut": "乞う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "恋うたり",
- "kanaOut": "恋う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "問うたり",
- "kanaOut": "問う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "負うたり",
- "kanaOut": "負う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "沿うたり",
- "kanaOut": "沿う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "添うたり",
- "kanaOut": "添う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "副うたり",
- "kanaOut": "副う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "厭うたり",
- "kanaOut": "厭う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "かったり", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "たり", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いたり", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "いだり", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "したり", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったり", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったり", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ったり", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだり", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだり", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだり", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "したり", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為たり", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きたり", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来たり", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來たり", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "いったり", "kanaOut": "いく", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "おうたり", "kanaOut": "おう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "こうたり", "kanaOut": "こう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "そうたり", "kanaOut": "そう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "とうたり", "kanaOut": "とう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "行ったり", "kanaOut": "行く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "逝ったり", "kanaOut": "逝く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "往ったり", "kanaOut": "往く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "請うたり", "kanaOut": "請う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "乞うたり", "kanaOut": "乞う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "恋うたり", "kanaOut": "恋う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "問うたり", "kanaOut": "問う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "負うたり", "kanaOut": "負う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "沿うたり", "kanaOut": "沿う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "添うたり", "kanaOut": "添う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "副うたり", "kanaOut": "副う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "厭うたり", "kanaOut": "厭う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "のたもうたり", "kanaOut": "のたまう", "rulesIn": [], "rulesOut": ["v5"]}
],
"-te": [
- {
- "kanaIn": "て",
- "kanaOut": "る",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いて",
- "kanaOut": "く",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いで",
- "kanaOut": "ぐ",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きて",
- "kanaOut": "くる",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "くて",
- "kanaOut": "い",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "して",
- "kanaOut": "す",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "して",
- "kanaOut": "する",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "って",
- "kanaOut": "う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "って",
- "kanaOut": "つ",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "って",
- "kanaOut": "る",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んで",
- "kanaOut": "ぬ",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んで",
- "kanaOut": "ぶ",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んで",
- "kanaOut": "む",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "のたもうて",
- "kanaOut": "のたまう",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いって",
- "kanaOut": "いく",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "おうて",
- "kanaOut": "おう",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こうて",
- "kanaOut": "こう",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "そうて",
- "kanaOut": "そう",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とうて",
- "kanaOut": "とう",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "行って",
- "kanaOut": "行く",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "逝って",
- "kanaOut": "逝く",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "往って",
- "kanaOut": "往く",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "請うて",
- "kanaOut": "請う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "乞うて",
- "kanaOut": "乞う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "恋うて",
- "kanaOut": "恋う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "問うて",
- "kanaOut": "問う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "負うて",
- "kanaOut": "負う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "沿うて",
- "kanaOut": "沿う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "添うて",
- "kanaOut": "添う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "副うて",
- "kanaOut": "副う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "厭うて",
- "kanaOut": "厭う",
- "rulesIn": [
- "iru"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "くて", "kanaOut": "い", "rulesIn": ["iru"], "rulesOut": ["adj-i"]},
+ {"kanaIn": "て", "kanaOut": "る", "rulesIn": ["iru"], "rulesOut": ["v1"]},
+ {"kanaIn": "いて", "kanaOut": "く", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "いで", "kanaOut": "ぐ", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "して", "kanaOut": "す", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "って", "kanaOut": "う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "って", "kanaOut": "つ", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "って", "kanaOut": "る", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "んで", "kanaOut": "ぬ", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "んで", "kanaOut": "ぶ", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "んで", "kanaOut": "む", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "して", "kanaOut": "する", "rulesIn": ["iru"], "rulesOut": ["vs"]},
+ {"kanaIn": "為て", "kanaOut": "為る", "rulesIn": ["iru"], "rulesOut": ["vs"]},
+ {"kanaIn": "きて", "kanaOut": "くる", "rulesIn": ["iru"], "rulesOut": ["vk"]},
+ {"kanaIn": "来て", "kanaOut": "来る", "rulesIn": ["iru"], "rulesOut": ["vk"]},
+ {"kanaIn": "來て", "kanaOut": "來る", "rulesIn": ["iru"], "rulesOut": ["vk"]},
+ {"kanaIn": "いって", "kanaOut": "いく", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "おうて", "kanaOut": "おう", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "こうて", "kanaOut": "こう", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "そうて", "kanaOut": "そう", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "とうて", "kanaOut": "とう", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "行って", "kanaOut": "行く", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "逝って", "kanaOut": "逝く", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "往って", "kanaOut": "往く", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "請うて", "kanaOut": "請う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "乞うて", "kanaOut": "乞う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "恋うて", "kanaOut": "恋う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "問うて", "kanaOut": "問う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "負うて", "kanaOut": "負う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "沿うて", "kanaOut": "沿う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "添うて", "kanaOut": "添う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "副うて", "kanaOut": "副う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "厭うて", "kanaOut": "厭う", "rulesIn": ["iru"], "rulesOut": ["v5"]},
+ {"kanaIn": "のたもうて", "kanaOut": "のたまう", "rulesIn": ["iru"], "rulesOut": ["v5"]}
],
"-zu": [
- {
- "kanaIn": "ず",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "かず",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がず",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こず",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "さず",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "せず",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "たず",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なず",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばず",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "まず",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "らず",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "わず",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ず", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "かず", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "がず", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "さず", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "たず", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "なず", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ばず", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "まず", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "らず", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "わず", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "せず", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ず", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "こず", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ず", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ず", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"-nu": [
- {
- "kanaIn": "ぬ",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "かぬ",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がぬ",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こぬ",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "さぬ",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "せぬ",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "たぬ",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なぬ",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばぬ",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "まぬ",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "らぬ",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "わぬ",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ぬ", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "かぬ", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "がぬ", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "さぬ", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "たぬ", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "なぬ", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ばぬ", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "まぬ", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "らぬ", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "わぬ", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "せぬ", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ぬ", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "こぬ", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ぬ", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ぬ", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"adv": [
- {
- "kanaIn": "く",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "く", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]}
],
"causative": [
- {
- "kanaIn": "かせる",
- "kanaOut": "く",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がせる",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "させる",
- "kanaOut": "する",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "させる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "させる",
- "kanaOut": "す",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "たせる",
- "kanaOut": "つ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なせる",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばせる",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ませる",
- "kanaOut": "む",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "らせる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "わせる",
- "kanaOut": "う",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こさせる",
- "kanaOut": "くる",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vk"
- ]
- }
+ {"kanaIn": "させる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v1"]},
+ {"kanaIn": "かせる", "kanaOut": "く", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "がせる", "kanaOut": "ぐ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "させる", "kanaOut": "す", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "たせる", "kanaOut": "つ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "なせる", "kanaOut": "ぬ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ばせる", "kanaOut": "ぶ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ませる", "kanaOut": "む", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "らせる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "わせる", "kanaOut": "う", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "させる", "kanaOut": "する", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "為せる", "kanaOut": "為る", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "こさせる", "kanaOut": "くる", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "来させる", "kanaOut": "来る", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "來させる", "kanaOut": "來る", "rulesIn": ["v1"], "rulesOut": ["vk"]}
],
"imperative": [
- {
- "kanaIn": "い",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "え",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "け",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "げ",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "せ",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "て",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ね",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "べ",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "め",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "よ",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "れ",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ろ",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "こい",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "しろ",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "せよ",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- }
+ {"kanaIn": "ろ", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "よ", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "え", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "け", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "げ", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "せ", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "て", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ね", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "べ", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "め", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "れ", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しろ", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "せよ", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ろ", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為よ", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "こい", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来い", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來い", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"imperative negative": [
- {
- "kanaIn": "な",
- "kanaOut": "",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "v5",
- "vk",
- "vs"
- ]
- }
+ {"kanaIn": "な", "kanaOut": "", "rulesIn": [], "rulesOut": ["v1", "v5", "vk", "vs"]}
],
"masu stem": [
- {
- "kanaIn": "い",
- "kanaOut": "いる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "い",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "え",
- "kanaOut": "える",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "き",
- "kanaOut": "きる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "き",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "き",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎ",
- "kanaOut": "ぎる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "ぎ",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "け",
- "kanaOut": "ける",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "げ",
- "kanaOut": "げる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "し",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "じ",
- "kanaOut": "じる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "せ",
- "kanaOut": "せる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "ぜ",
- "kanaOut": "ぜる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "ち",
- "kanaOut": "ちる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "ち",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "て",
- "kanaOut": "てる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "で",
- "kanaOut": "でる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "に",
- "kanaOut": "にる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "に",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ね",
- "kanaOut": "ねる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "ひ",
- "kanaOut": "ひる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "び",
- "kanaOut": "びる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "び",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "へ",
- "kanaOut": "へる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "べ",
- "kanaOut": "べる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "み",
- "kanaOut": "みる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "み",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "め",
- "kanaOut": "める",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "り",
- "kanaOut": "りる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- },
- {
- "kanaIn": "り",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "れ",
- "kanaOut": "れる",
- "rulesIn": [],
- "rulesOut": [
- "v1"
- ]
- }
+ {"kanaIn": "い", "kanaOut": "いる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "え", "kanaOut": "える", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "き", "kanaOut": "きる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "ぎ", "kanaOut": "ぎる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "け", "kanaOut": "ける", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "げ", "kanaOut": "げる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "じ", "kanaOut": "じる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "せ", "kanaOut": "せる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "ぜ", "kanaOut": "ぜる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "ち", "kanaOut": "ちる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "て", "kanaOut": "てる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "で", "kanaOut": "でる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "に", "kanaOut": "にる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "ね", "kanaOut": "ねる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "ひ", "kanaOut": "ひる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "び", "kanaOut": "びる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "へ", "kanaOut": "へる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "べ", "kanaOut": "べる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "み", "kanaOut": "みる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "め", "kanaOut": "める", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "り", "kanaOut": "りる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "れ", "kanaOut": "れる", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "い", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "き", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎ", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "し", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ち", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "に", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "び", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "み", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "り", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "き", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"negative": [
- {
- "kanaIn": "ない",
- "kanaOut": "る",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "かない",
- "kanaOut": "く",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がない",
- "kanaOut": "ぐ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "くない",
- "kanaOut": "い",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "こない",
- "kanaOut": "くる",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "さない",
- "kanaOut": "す",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しない",
- "kanaOut": "する",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "たない",
- "kanaOut": "つ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なない",
- "kanaOut": "ぬ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばない",
- "kanaOut": "ぶ",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "まない",
- "kanaOut": "む",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "らない",
- "kanaOut": "る",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "わない",
- "kanaOut": "う",
- "rulesIn": [
- "adj-i"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "くない", "kanaOut": "い", "rulesIn": ["adj-i"], "rulesOut": ["adj-i"]},
+ {"kanaIn": "ない", "kanaOut": "る", "rulesIn": ["adj-i"], "rulesOut": ["v1"]},
+ {"kanaIn": "かない", "kanaOut": "く", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "がない", "kanaOut": "ぐ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "さない", "kanaOut": "す", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "たない", "kanaOut": "つ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "なない", "kanaOut": "ぬ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "ばない", "kanaOut": "ぶ", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "まない", "kanaOut": "む", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "らない", "kanaOut": "る", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "わない", "kanaOut": "う", "rulesIn": ["adj-i"], "rulesOut": ["v5"]},
+ {"kanaIn": "しない", "kanaOut": "する", "rulesIn": ["adj-i"], "rulesOut": ["vs"]},
+ {"kanaIn": "為ない", "kanaOut": "為る", "rulesIn": ["adj-i"], "rulesOut": ["vs"]},
+ {"kanaIn": "こない", "kanaOut": "くる", "rulesIn": ["adj-i"], "rulesOut": ["vk"]},
+ {"kanaIn": "来ない", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]},
+ {"kanaIn": "來ない", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}
],
"noun": [
- {
- "kanaIn": "さ",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "さ", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]}
],
"passive": [
- {
- "kanaIn": "かれる",
- "kanaOut": "く",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がれる",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "される",
- "kanaOut": "する",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "される",
- "kanaOut": "す",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "たれる",
- "kanaOut": "つ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なれる",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばれる",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "まれる",
- "kanaOut": "む",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "われる",
- "kanaOut": "う",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "られる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "かれる", "kanaOut": "く", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "がれる", "kanaOut": "ぐ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "される", "kanaOut": "す", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "たれる", "kanaOut": "つ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "なれる", "kanaOut": "ぬ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ばれる", "kanaOut": "ぶ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "まれる", "kanaOut": "む", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "われる", "kanaOut": "う", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "られる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "される", "kanaOut": "する", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "為れる", "kanaOut": "為る", "rulesIn": ["v1"], "rulesOut": ["vs"]},
+ {"kanaIn": "こられる", "kanaOut": "くる", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "来られる", "kanaOut": "来る", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "來られる", "kanaOut": "來る", "rulesIn": ["v1"], "rulesOut": ["vk"]}
],
"past": [
- {
- "kanaIn": "た",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いた",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いだ",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きた",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "した",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "した",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "った",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "った",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "った",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだ",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだ",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んだ",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "かった",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- },
- {
- "kanaIn": "のたもうた",
- "kanaOut": "のたまう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いった",
- "kanaOut": "いく",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "おうた",
- "kanaOut": "おう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こうた",
- "kanaOut": "こう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "そうた",
- "kanaOut": "そう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とうた",
- "kanaOut": "とう",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "行った",
- "kanaOut": "行く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "逝った",
- "kanaOut": "逝く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "往った",
- "kanaOut": "往く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "請うた",
- "kanaOut": "請う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "乞うた",
- "kanaOut": "乞う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "恋うた",
- "kanaOut": "恋う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "問うた",
- "kanaOut": "問う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "負うた",
- "kanaOut": "負う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "沿うた",
- "kanaOut": "沿う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "添うた",
- "kanaOut": "添う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "副うた",
- "kanaOut": "副う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "厭うた",
- "kanaOut": "厭う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "かった", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "た", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いた", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "いだ", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "した", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "った", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "った", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "った", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだ", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだ", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "んだ", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "した", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為た", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きた", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来た", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來た", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "いった", "kanaOut": "いく", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "おうた", "kanaOut": "おう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "こうた", "kanaOut": "こう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "そうた", "kanaOut": "そう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "とうた", "kanaOut": "とう", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "行った", "kanaOut": "行く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "逝った", "kanaOut": "逝く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "往った", "kanaOut": "往く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "請うた", "kanaOut": "請う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "乞うた", "kanaOut": "乞う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "恋うた", "kanaOut": "恋う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "問うた", "kanaOut": "問う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "負うた", "kanaOut": "負う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "沿うた", "kanaOut": "沿う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "添うた", "kanaOut": "添う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "副うた", "kanaOut": "副う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "厭うた", "kanaOut": "厭う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "のたもうた", "kanaOut": "のたまう", "rulesIn": [], "rulesOut": ["v5"]}
],
"polite": [
- {
- "kanaIn": "ます",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "います",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きます",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きます",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎます",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "します",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "します",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちます",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にます",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びます",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みます",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ります",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ます", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "います", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きます", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎます", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "します", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちます", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にます", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びます", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みます", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ります", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "します", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ます", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きます", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ます", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ます", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"polite negative": [
- {
- "kanaIn": "ません",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いません",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きません",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きません",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎません",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しません",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しません",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちません",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にません",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びません",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みません",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りません",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "くありません",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "くありません", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "ません", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いません", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きません", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎません", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しません", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちません", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にません", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びません", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みません", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りません", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しません", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ません", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きません", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ません", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ません", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"polite past": [
- {
- "kanaIn": "ました",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いました",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きました",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きました",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎました",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しました",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しました",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちました",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にました",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びました",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みました",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りました",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ました", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いました", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きました", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎました", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しました", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちました", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にました", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びました", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みました", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りました", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しました", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ました", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きました", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ました", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ました", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"polite past negative": [
- {
- "kanaIn": "ませんでした",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いませんでした",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きませんでした",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きませんでした",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎませんでした",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しませんでした",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しませんでした",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちませんでした",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にませんでした",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びませんでした",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みませんでした",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りませんでした",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "くありませんでした",
- "kanaOut": "い",
- "rulesIn": [],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "くありませんでした", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]},
+ {"kanaIn": "ませんでした", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いませんでした", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きませんでした", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎませんでした", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しませんでした", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちませんでした", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にませんでした", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びませんでした", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みませんでした", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りませんでした", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しませんでした", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ませんでした", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きませんでした", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ませんでした", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ませんでした", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"polite volitional": [
- {
- "kanaIn": "ましょう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "いましょう",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きましょう",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きましょう",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "ぎましょう",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しましょう",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しましょう",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "ちましょう",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "にましょう",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "びましょう",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "みましょう",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "りましょう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "ましょう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "いましょう", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "きましょう", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぎましょう", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しましょう", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ちましょう", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "にましょう", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "びましょう", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "みましょう", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "りましょう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しましょう", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為ましょう", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "きましょう", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来ましょう", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來ましょう", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"potential": [
- {
- "kanaIn": "える",
- "kanaOut": "う",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ける",
- "kanaOut": "く",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "げる",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "せる",
- "kanaOut": "す",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "てる",
- "kanaOut": "つ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ねる",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "べる",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "める",
- "kanaOut": "む",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "れる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v1",
- "v5",
- "vk"
- ]
- },
- {
- "kanaIn": "これる",
- "kanaOut": "くる",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vk"
- ]
- }
+ {"kanaIn": "れる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v1", "v5"]},
+ {"kanaIn": "える", "kanaOut": "う", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ける", "kanaOut": "く", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "げる", "kanaOut": "ぐ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "せる", "kanaOut": "す", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "てる", "kanaOut": "つ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ねる", "kanaOut": "ぬ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "べる", "kanaOut": "ぶ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "める", "kanaOut": "む", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "これる", "kanaOut": "くる", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "来れる", "kanaOut": "来る", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "來れる", "kanaOut": "來る", "rulesIn": ["v1"], "rulesOut": ["vk"]}
],
"potential or passive": [
- {
- "kanaIn": "られる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "こられる",
- "kanaOut": "くる",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "vk"
- ]
- }
+ {"kanaIn": "られる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v1"]},
+ {"kanaIn": "こられる", "kanaOut": "くる", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "来られる", "kanaOut": "来る", "rulesIn": ["v1"], "rulesOut": ["vk"]},
+ {"kanaIn": "來られる", "kanaOut": "來る", "rulesIn": ["v1"], "rulesOut": ["vk"]}
],
"volitional": [
- {
- "kanaIn": "おう",
- "kanaOut": "う",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こう",
- "kanaOut": "く",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ごう",
- "kanaOut": "ぐ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "そう",
- "kanaOut": "す",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とう",
- "kanaOut": "つ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "のう",
- "kanaOut": "ぬ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ぼう",
- "kanaOut": "ぶ",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "もう",
- "kanaOut": "む",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "よう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v1",
- "vk"
- ]
- },
- {
- "kanaIn": "ろう",
- "kanaOut": "る",
- "rulesIn": [],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "こよう",
- "kanaOut": "くる",
- "rulesIn": [],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "しよう",
- "kanaOut": "する",
- "rulesIn": [],
- "rulesOut": [
- "vs"
- ]
- }
+ {"kanaIn": "よう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]},
+ {"kanaIn": "おう", "kanaOut": "う", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "こう", "kanaOut": "く", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ごう", "kanaOut": "ぐ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "そう", "kanaOut": "す", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "とう", "kanaOut": "つ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "のう", "kanaOut": "ぬ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ぼう", "kanaOut": "ぶ", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "もう", "kanaOut": "む", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "ろう", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v5"]},
+ {"kanaIn": "しよう", "kanaOut": "する", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "為よう", "kanaOut": "為る", "rulesIn": [], "rulesOut": ["vs"]},
+ {"kanaIn": "こよう", "kanaOut": "くる", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "来よう", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]},
+ {"kanaIn": "來よう", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]}
],
"causative passive": [
- {
- "kanaIn": "かされる",
- "kanaOut": "く",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "がされる",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "たされる",
- "kanaOut": "つ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "なされる",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "ばされる",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "まされる",
- "kanaOut": "む",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "らされる",
- "kanaOut": "る",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "わされる",
- "kanaOut": "う",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "v5"
- ]
- }
+ {"kanaIn": "かされる", "kanaOut": "く", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "がされる", "kanaOut": "ぐ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "たされる", "kanaOut": "つ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "なされる", "kanaOut": "ぬ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "ばされる", "kanaOut": "ぶ", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "まされる", "kanaOut": "む", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "らされる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v5"]},
+ {"kanaIn": "わされる", "kanaOut": "う", "rulesIn": ["v1"], "rulesOut": ["v5"]}
],
"-toku": [
- {
- "kanaIn": "いとく",
- "kanaOut": "く",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "いどく",
- "kanaOut": "ぐ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "きとく",
- "kanaOut": "くる",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "vk"
- ]
- },
- {
- "kanaIn": "しとく",
- "kanaOut": "す",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "しとく",
- "kanaOut": "する",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "vs"
- ]
- },
- {
- "kanaIn": "っとく",
- "kanaOut": "う",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "っとく",
- "kanaOut": "つ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "っとく",
- "kanaOut": "る",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んどく",
- "kanaOut": "ぬ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んどく",
- "kanaOut": "ぶ",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "んどく",
- "kanaOut": "む",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v5"
- ]
- },
- {
- "kanaIn": "とく",
- "kanaOut": "る",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "v1",
- "vk"
- ]
- }
+ {"kanaIn": "とく", "kanaOut": "る", "rulesIn": ["v5"], "rulesOut": ["v1"]},
+ {"kanaIn": "いとく", "kanaOut": "く", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "いどく", "kanaOut": "ぐ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "しとく", "kanaOut": "す", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っとく", "kanaOut": "う", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っとく", "kanaOut": "つ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "っとく", "kanaOut": "る", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んどく", "kanaOut": "ぬ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んどく", "kanaOut": "ぶ", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "んどく", "kanaOut": "む", "rulesIn": ["v5"], "rulesOut": ["v5"]},
+ {"kanaIn": "しとく", "kanaOut": "する", "rulesIn": ["v5"], "rulesOut": ["vs"]},
+ {"kanaIn": "為とく", "kanaOut": "為る", "rulesIn": ["v5"], "rulesOut": ["vs"]},
+ {"kanaIn": "きとく", "kanaOut": "くる", "rulesIn": ["v5"], "rulesOut": ["vk"]},
+ {"kanaIn": "来とく", "kanaOut": "来る", "rulesIn": ["v5"], "rulesOut": ["vk"]},
+ {"kanaIn": "來とく", "kanaOut": "來る", "rulesIn": ["v5"], "rulesOut": ["vk"]}
],
"progressive or perfect": [
- {
- "kanaIn": "ている",
- "kanaOut": "て",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "ておる",
- "kanaOut": "て",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "てる",
- "kanaOut": "て",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "でいる",
- "kanaOut": "で",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "でおる",
- "kanaOut": "で",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "とる",
- "kanaOut": "て",
- "rulesIn": [
- "v5"
- ],
- "rulesOut": [
- "iru"
- ]
- },
- {
- "kanaIn": "ないでいる",
- "kanaOut": "ない",
- "rulesIn": [
- "v1"
- ],
- "rulesOut": [
- "adj-i"
- ]
- }
+ {"kanaIn": "ている", "kanaOut": "て", "rulesIn": ["v1"], "rulesOut": ["iru"]},
+ {"kanaIn": "ておる", "kanaOut": "て", "rulesIn": ["v5"], "rulesOut": ["iru"]},
+ {"kanaIn": "てる", "kanaOut": "て", "rulesIn": ["v1"], "rulesOut": ["iru"]},
+ {"kanaIn": "でいる", "kanaOut": "で", "rulesIn": ["v1"], "rulesOut": ["iru"]},
+ {"kanaIn": "でおる", "kanaOut": "で", "rulesIn": ["v5"], "rulesOut": ["iru"]},
+ {"kanaIn": "でる", "kanaOut": "で", "rulesIn": ["v1"], "rulesOut": ["iru"]},
+ {"kanaIn": "とる", "kanaOut": "て", "rulesIn": ["v5"], "rulesOut": ["iru"]},
+ {"kanaIn": "ないでいる", "kanaOut": "ない", "rulesIn": ["v1"], "rulesOut": ["adj-i"]}
+ ],
+ "-ki": [
+ {"kanaIn": "き", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]}
]
}
diff --git a/test/test-deinflector.js b/test/test-deinflector.js
new file mode 100644
index 00000000..2fee9fc3
--- /dev/null
+++ b/test/test-deinflector.js
@@ -0,0 +1,826 @@
+/*
+ * Copyright (C) 2020 Yomichan Authors
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+const fs = require('fs');
+const path = require('path');
+const assert = require('assert');
+const {testMain} = require('../dev/util');
+const {VM} = require('../dev/vm');
+
+
+function hasTermReasons(Deinflector, deinflector, source, expectedTerm, expectedRule, expectedReasons) {
+ for (const {term, reasons, rules} of deinflector.deinflect(source, source)) {
+ if (term !== expectedTerm) { continue; }
+ if (typeof expectedRule !== 'undefined') {
+ const expectedFlags = Deinflector.rulesToRuleFlags([expectedRule]);
+ if (rules !== 0 && (rules & expectedFlags) !== expectedFlags) { continue; }
+ }
+ let okay = true;
+ if (typeof expectedReasons !== 'undefined') {
+ if (reasons.length !== expectedReasons.length) { continue; }
+ for (let i = 0, ii = expectedReasons.length; i < ii; ++i) {
+ if (expectedReasons[i] !== reasons[i]) {
+ okay = false;
+ break;
+ }
+ }
+ }
+ if (okay) {
+ return {has: true, reasons, rules};
+ }
+ }
+ return {has: false, reasons: null, rules: null};
+}
+
+
+function testDeinflections() {
+ const data = [
+ {
+ valid: true,
+ tests: [
+ // Adjective
+ {term: '愛しい', source: '愛しい', rule: 'adj-i', reasons: []},
+ {term: '愛しい', source: '愛しそう', rule: 'adj-i', reasons: ['-sou']},
+ {term: '愛しい', source: '愛しすぎる', rule: 'adj-i', reasons: ['-sugiru']},
+ {term: '愛しい', source: '愛しかったら', rule: 'adj-i', reasons: ['-tara']},
+ {term: '愛しい', source: '愛しかったり', rule: 'adj-i', reasons: ['-tari']},
+ {term: '愛しい', source: '愛しくて', rule: 'adj-i', reasons: ['-te']},
+ {term: '愛しい', source: '愛しく', rule: 'adj-i', reasons: ['adv']},
+ {term: '愛しい', source: '愛しくない', rule: 'adj-i', reasons: ['negative']},
+ {term: '愛しい', source: '愛しさ', rule: 'adj-i', reasons: ['noun']},
+ {term: '愛しい', source: '愛しかった', rule: 'adj-i', reasons: ['past']},
+ {term: '愛しい', source: '愛しくありません', rule: 'adj-i', reasons: ['polite negative']},
+ {term: '愛しい', source: '愛しくありませんでした', rule: 'adj-i', reasons: ['polite past negative']},
+ {term: '愛しい', source: '愛しき', rule: 'adj-i', reasons: ['-ki']},
+
+ // Common verbs
+ {term: '食べる', source: '食べる', rule: 'v1', reasons: []},
+ {term: '食べる', source: '食べます', rule: 'v1', reasons: ['polite']},
+ {term: '食べる', source: '食べた', rule: 'v1', reasons: ['past']},
+ {term: '食べる', source: '食べました', rule: 'v1', reasons: ['polite past']},
+ {term: '食べる', source: '食べて', rule: 'v1', reasons: ['-te']},
+ {term: '食べる', source: '食べられる', rule: 'v1', reasons: ['potential or passive']},
+ {term: '食べる', source: '食べられる', rule: 'v1', reasons: ['potential or passive']},
+ {term: '食べる', source: '食べさせる', rule: 'v1', reasons: ['causative']},
+ {term: '食べる', source: '食べさせられる', rule: 'v1', reasons: ['causative', 'potential or passive']},
+ {term: '食べる', source: '食べろ', rule: 'v1', reasons: ['imperative']},
+ {term: '食べる', source: '食べない', rule: 'v1', reasons: ['negative']},
+ {term: '食べる', source: '食べません', rule: 'v1', reasons: ['polite negative']},
+ {term: '食べる', source: '食べなかった', rule: 'v1', reasons: ['negative', 'past']},
+ {term: '食べる', source: '食べませんでした', rule: 'v1', reasons: ['polite past negative']},
+ {term: '食べる', source: '食べなくて', rule: 'v1', reasons: ['negative', '-te']},
+ {term: '食べる', source: '食べられない', rule: 'v1', reasons: ['potential or passive', 'negative']},
+ {term: '食べる', source: '食べられない', rule: 'v1', reasons: ['potential or passive', 'negative']},
+ {term: '食べる', source: '食べさせない', rule: 'v1', reasons: ['causative', 'negative']},
+ {term: '食べる', source: '食べさせられない', rule: 'v1', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '食べる', source: '食べるな', rule: 'v1', reasons: ['imperative negative']},
+
+ {term: '食べる', source: '食べれば', rule: 'v1', reasons: ['-ba']},
+ {term: '食べる', source: '食べちゃう', rule: 'v1', reasons: ['-chau']},
+ {term: '食べる', source: '食べなさい', rule: 'v1', reasons: ['-nasai']},
+ {term: '食べる', source: '食べそう', rule: 'v1', reasons: ['-sou']},
+ {term: '食べる', source: '食べすぎる', rule: 'v1', reasons: ['-sugiru']},
+ {term: '食べる', source: '食べたい', rule: 'v1', reasons: ['-tai']},
+ {term: '食べる', source: '食べたら', rule: 'v1', reasons: ['-tara']},
+ {term: '食べる', source: '食べたり', rule: 'v1', reasons: ['-tari']},
+ {term: '食べる', source: '食べず', rule: 'v1', reasons: ['-zu']},
+ {term: '食べる', source: '食べぬ', rule: 'v1', reasons: ['-nu']},
+ {term: '食べる', source: '食べ', rule: 'v1', reasons: ['masu stem']},
+ {term: '食べる', source: '食べましょう', rule: 'v1', reasons: ['polite volitional']},
+ {term: '食べる', source: '食べよう', rule: 'v1', reasons: ['volitional']},
+ // ['causative passive']
+ {term: '食べる', source: '食べとく', rule: 'v1', reasons: ['-toku']},
+ {term: '食べる', source: '食べている', rule: 'v1', reasons: ['-te', 'progressive or perfect']},
+ {term: '食べる', source: '食べておる', rule: 'v1', reasons: ['-te', 'progressive or perfect']},
+ {term: '食べる', source: '食べてる', rule: 'v1', reasons: ['-te', 'progressive or perfect']},
+ {term: '食べる', source: '食べとる', rule: 'v1', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '買う', source: '買う', rule: 'v5', reasons: []},
+ {term: '買う', source: '買います', rule: 'v5', reasons: ['polite']},
+ {term: '買う', source: '買った', rule: 'v5', reasons: ['past']},
+ {term: '買う', source: '買いました', rule: 'v5', reasons: ['polite past']},
+ {term: '買う', source: '買って', rule: 'v5', reasons: ['-te']},
+ {term: '買う', source: '買える', rule: 'v5', reasons: ['potential']},
+ {term: '買う', source: '買われる', rule: 'v5', reasons: ['passive']},
+ {term: '買う', source: '買わせる', rule: 'v5', reasons: ['causative']},
+ {term: '買う', source: '買わせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '買う', source: '買え', rule: 'v5', reasons: ['imperative']},
+ {term: '買う', source: '買わない', rule: 'v5', reasons: ['negative']},
+ {term: '買う', source: '買いません', rule: 'v5', reasons: ['polite negative']},
+ {term: '買う', source: '買わなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '買う', source: '買いませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '買う', source: '買わなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '買う', source: '買えない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '買う', source: '買われない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '買う', source: '買わせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '買う', source: '買わせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '買う', source: '買うな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '買う', source: '買えば', rule: 'v5', reasons: ['-ba']},
+ {term: '買う', source: '買っちゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '買う', source: '買いなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '買う', source: '買いそう', rule: 'v5', reasons: ['-sou']},
+ {term: '買う', source: '買いすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '買う', source: '買いたい', rule: 'v5', reasons: ['-tai']},
+ {term: '買う', source: '買ったら', rule: 'v5', reasons: ['-tara']},
+ {term: '買う', source: '買ったり', rule: 'v5', reasons: ['-tari']},
+ {term: '買う', source: '買わず', rule: 'v5', reasons: ['-zu']},
+ {term: '買う', source: '買わぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '買う', source: '買い', rule: 'v5', reasons: ['masu stem']},
+ {term: '買う', source: '買いましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '買う', source: '買おう', rule: 'v5', reasons: ['volitional']},
+ {term: '買う', source: '買わされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '買う', source: '買っとく', rule: 'v5', reasons: ['-toku']},
+ {term: '買う', source: '買っている', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '買う', source: '買っておる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '買う', source: '買ってる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '買う', source: '買っとる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '行く', source: '行く', rule: 'v5', reasons: []},
+ {term: '行く', source: '行きます', rule: 'v5', reasons: ['polite']},
+ {term: '行く', source: '行った', rule: 'v5', reasons: ['past']},
+ {term: '行く', source: '行きました', rule: 'v5', reasons: ['polite past']},
+ {term: '行く', source: '行って', rule: 'v5', reasons: ['-te']},
+ {term: '行く', source: '行ける', rule: 'v5', reasons: ['potential']},
+ {term: '行く', source: '行かれる', rule: 'v5', reasons: ['passive']},
+ {term: '行く', source: '行かせる', rule: 'v5', reasons: ['causative']},
+ {term: '行く', source: '行かせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '行く', source: '行け', rule: 'v5', reasons: ['imperative']},
+ {term: '行く', source: '行かない', rule: 'v5', reasons: ['negative']},
+ {term: '行く', source: '行きません', rule: 'v5', reasons: ['polite negative']},
+ {term: '行く', source: '行かなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '行く', source: '行きませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '行く', source: '行かなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '行く', source: '行けない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '行く', source: '行かれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '行く', source: '行かせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '行く', source: '行かせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '行く', source: '行くな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '行く', source: '行けば', rule: 'v5', reasons: ['-ba']},
+ {term: '行く', source: '行っちゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '行く', source: '行きなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '行く', source: '行きそう', rule: 'v5', reasons: ['-sou']},
+ {term: '行く', source: '行きすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '行く', source: '行きたい', rule: 'v5', reasons: ['-tai']},
+ {term: '行く', source: '行いたら', rule: 'v5', reasons: ['-tara']},
+ {term: '行く', source: '行いたり', rule: 'v5', reasons: ['-tari']},
+ {term: '行く', source: '行かず', rule: 'v5', reasons: ['-zu']},
+ {term: '行く', source: '行かぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '行く', source: '行き', rule: 'v5', reasons: ['masu stem']},
+ {term: '行く', source: '行きましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '行く', source: '行こう', rule: 'v5', reasons: ['volitional']},
+ {term: '行く', source: '行かされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '行く', source: '行いとく', rule: 'v5', reasons: ['-toku']},
+ {term: '行く', source: '行っている', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '行く', source: '行っておる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '行く', source: '行ってる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '行く', source: '行っとる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '泳ぐ', source: '泳ぐ', rule: 'v5', reasons: []},
+ {term: '泳ぐ', source: '泳ぎます', rule: 'v5', reasons: ['polite']},
+ {term: '泳ぐ', source: '泳いだ', rule: 'v5', reasons: ['past']},
+ {term: '泳ぐ', source: '泳ぎました', rule: 'v5', reasons: ['polite past']},
+ {term: '泳ぐ', source: '泳いで', rule: 'v5', reasons: ['-te']},
+ {term: '泳ぐ', source: '泳げる', rule: 'v5', reasons: ['potential']},
+ {term: '泳ぐ', source: '泳がれる', rule: 'v5', reasons: ['passive']},
+ {term: '泳ぐ', source: '泳がせる', rule: 'v5', reasons: ['causative']},
+ {term: '泳ぐ', source: '泳がせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '泳ぐ', source: '泳げ', rule: 'v5', reasons: ['imperative']},
+ {term: '泳ぐ', source: '泳がない', rule: 'v5', reasons: ['negative']},
+ {term: '泳ぐ', source: '泳ぎません', rule: 'v5', reasons: ['polite negative']},
+ {term: '泳ぐ', source: '泳がなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '泳ぐ', source: '泳ぎませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '泳ぐ', source: '泳がなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '泳ぐ', source: '泳げない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '泳ぐ', source: '泳がれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '泳ぐ', source: '泳がせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '泳ぐ', source: '泳がせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '泳ぐ', source: '泳ぐな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '泳ぐ', source: '泳げば', rule: 'v5', reasons: ['-ba']},
+ {term: '泳ぐ', source: '泳いじゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '泳ぐ', source: '泳ぎなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '泳ぐ', source: '泳ぎそう', rule: 'v5', reasons: ['-sou']},
+ {term: '泳ぐ', source: '泳ぎすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '泳ぐ', source: '泳ぎたい', rule: 'v5', reasons: ['-tai']},
+ {term: '泳ぐ', source: '泳いだら', rule: 'v5', reasons: ['-tara']},
+ {term: '泳ぐ', source: '泳いだり', rule: 'v5', reasons: ['-tari']},
+ {term: '泳ぐ', source: '泳がず', rule: 'v5', reasons: ['-zu']},
+ {term: '泳ぐ', source: '泳がぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '泳ぐ', source: '泳ぎ', rule: 'v5', reasons: ['masu stem']},
+ {term: '泳ぐ', source: '泳ぎましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '泳ぐ', source: '泳ごう', rule: 'v5', reasons: ['volitional']},
+ {term: '泳ぐ', source: '泳がされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '泳ぐ', source: '泳いどく', rule: 'v5', reasons: ['-toku']},
+ {term: '泳ぐ', source: '泳いでいる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '泳ぐ', source: '泳いでおる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '泳ぐ', source: '泳いでる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '話す', source: '話す', rule: 'v5', reasons: []},
+ {term: '話す', source: '話します', rule: 'v5', reasons: ['polite']},
+ {term: '話す', source: '話した', rule: 'v5', reasons: ['past']},
+ {term: '話す', source: '話しました', rule: 'v5', reasons: ['polite past']},
+ {term: '話す', source: '話して', rule: 'v5', reasons: ['-te']},
+ {term: '話す', source: '話せる', rule: 'v5', reasons: ['potential']},
+ {term: '話す', source: '話される', rule: 'v5', reasons: ['passive']},
+ {term: '話す', source: '話させる', rule: 'v5', reasons: ['causative']},
+ {term: '話す', source: '話させられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '話す', source: '話せ', rule: 'v5', reasons: ['imperative']},
+ {term: '話す', source: '話さない', rule: 'v5', reasons: ['negative']},
+ {term: '話す', source: '話しません', rule: 'v5', reasons: ['polite negative']},
+ {term: '話す', source: '話さなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '話す', source: '話しませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '話す', source: '話さなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '話す', source: '話せない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '話す', source: '話されない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '話す', source: '話させない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '話す', source: '話させられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '話す', source: '話すな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '話す', source: '話せば', rule: 'v5', reasons: ['-ba']},
+ {term: '話す', source: '話しちゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '話す', source: '話しなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '話す', source: '話しそう', rule: 'v5', reasons: ['-sou']},
+ {term: '話す', source: '話しすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '話す', source: '話したい', rule: 'v5', reasons: ['-tai']},
+ {term: '話す', source: '話したら', rule: 'v5', reasons: ['-tara']},
+ {term: '話す', source: '話したり', rule: 'v5', reasons: ['-tari']},
+ {term: '話す', source: '話さず', rule: 'v5', reasons: ['-zu']},
+ {term: '話す', source: '話さぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '話す', source: '話し', rule: 'v5', reasons: ['masu stem']},
+ {term: '話す', source: '話しましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '話す', source: '話そう', rule: 'v5', reasons: ['volitional']},
+ // ['causative passive']
+ {term: '話す', source: '話しとく', rule: 'v5', reasons: ['-toku']},
+ {term: '話す', source: '話している', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '話す', source: '話しておる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '話す', source: '話してる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '話す', source: '話しとる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '待つ', source: '待つ', rule: 'v5', reasons: []},
+ {term: '待つ', source: '待ちます', rule: 'v5', reasons: ['polite']},
+ {term: '待つ', source: '待った', rule: 'v5', reasons: ['past']},
+ {term: '待つ', source: '待ちました', rule: 'v5', reasons: ['polite past']},
+ {term: '待つ', source: '待って', rule: 'v5', reasons: ['-te']},
+ {term: '待つ', source: '待てる', rule: 'v5', reasons: ['potential']},
+ {term: '待つ', source: '待たれる', rule: 'v5', reasons: ['passive']},
+ {term: '待つ', source: '待たせる', rule: 'v5', reasons: ['causative']},
+ {term: '待つ', source: '待たせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '待つ', source: '待て', rule: 'v5', reasons: ['imperative']},
+ {term: '待つ', source: '待たない', rule: 'v5', reasons: ['negative']},
+ {term: '待つ', source: '待ちません', rule: 'v5', reasons: ['polite negative']},
+ {term: '待つ', source: '待たなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '待つ', source: '待ちませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '待つ', source: '待たなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '待つ', source: '待てない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '待つ', source: '待たれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '待つ', source: '待たせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '待つ', source: '待たせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '待つ', source: '待つな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '待つ', source: '待てば', rule: 'v5', reasons: ['-ba']},
+ {term: '待つ', source: '待っちゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '待つ', source: '待ちなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '待つ', source: '待ちそう', rule: 'v5', reasons: ['-sou']},
+ {term: '待つ', source: '待ちすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '待つ', source: '待ちたい', rule: 'v5', reasons: ['-tai']},
+ {term: '待つ', source: '待ったら', rule: 'v5', reasons: ['-tara']},
+ {term: '待つ', source: '待ったり', rule: 'v5', reasons: ['-tari']},
+ {term: '待つ', source: '待たず', rule: 'v5', reasons: ['-zu']},
+ {term: '待つ', source: '待たぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '待つ', source: '待ち', rule: 'v5', reasons: ['masu stem']},
+ {term: '待つ', source: '待ちましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '待つ', source: '待とう', rule: 'v5', reasons: ['volitional']},
+ {term: '待つ', source: '待たされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '待つ', source: '待っとく', rule: 'v5', reasons: ['-toku']},
+ {term: '待つ', source: '待っている', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '待つ', source: '待っておる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '待つ', source: '待ってる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '待つ', source: '待っとる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '死ぬ', source: '死ぬ', rule: 'v5', reasons: []},
+ {term: '死ぬ', source: '死にます', rule: 'v5', reasons: ['polite']},
+ {term: '死ぬ', source: '死んだ', rule: 'v5', reasons: ['past']},
+ {term: '死ぬ', source: '死にました', rule: 'v5', reasons: ['polite past']},
+ {term: '死ぬ', source: '死んで', rule: 'v5', reasons: ['-te']},
+ {term: '死ぬ', source: '死ねる', rule: 'v5', reasons: ['potential']},
+ {term: '死ぬ', source: '死なれる', rule: 'v5', reasons: ['passive']},
+ {term: '死ぬ', source: '死なせる', rule: 'v5', reasons: ['causative']},
+ {term: '死ぬ', source: '死なせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '死ぬ', source: '死ね', rule: 'v5', reasons: ['imperative']},
+ {term: '死ぬ', source: '死なない', rule: 'v5', reasons: ['negative']},
+ {term: '死ぬ', source: '死にません', rule: 'v5', reasons: ['polite negative']},
+ {term: '死ぬ', source: '死ななかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '死ぬ', source: '死にませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '死ぬ', source: '死ななくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '死ぬ', source: '死ねない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '死ぬ', source: '死なれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '死ぬ', source: '死なせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '死ぬ', source: '死なせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '死ぬ', source: '死ぬな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '死ぬ', source: '死ねば', rule: 'v5', reasons: ['-ba']},
+ {term: '死ぬ', source: '死んじゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '死ぬ', source: '死になさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '死ぬ', source: '死にそう', rule: 'v5', reasons: ['-sou']},
+ {term: '死ぬ', source: '死にすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '死ぬ', source: '死にたい', rule: 'v5', reasons: ['-tai']},
+ {term: '死ぬ', source: '死んだら', rule: 'v5', reasons: ['-tara']},
+ {term: '死ぬ', source: '死んだり', rule: 'v5', reasons: ['-tari']},
+ {term: '死ぬ', source: '死なず', rule: 'v5', reasons: ['-zu']},
+ {term: '死ぬ', source: '死なぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '死ぬ', source: '死に', rule: 'v5', reasons: ['masu stem']},
+ {term: '死ぬ', source: '死にましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '死ぬ', source: '死のう', rule: 'v5', reasons: ['volitional']},
+ {term: '死ぬ', source: '死なされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '死ぬ', source: '死んどく', rule: 'v5', reasons: ['-toku']},
+ {term: '死ぬ', source: '死んでいる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '死ぬ', source: '死んでおる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '死ぬ', source: '死んでる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '遊ぶ', source: '遊ぶ', rule: 'v5', reasons: []},
+ {term: '遊ぶ', source: '遊びます', rule: 'v5', reasons: ['polite']},
+ {term: '遊ぶ', source: '遊んだ', rule: 'v5', reasons: ['past']},
+ {term: '遊ぶ', source: '遊びました', rule: 'v5', reasons: ['polite past']},
+ {term: '遊ぶ', source: '遊んで', rule: 'v5', reasons: ['-te']},
+ {term: '遊ぶ', source: '遊べる', rule: 'v5', reasons: ['potential']},
+ {term: '遊ぶ', source: '遊ばれる', rule: 'v5', reasons: ['passive']},
+ {term: '遊ぶ', source: '遊ばせる', rule: 'v5', reasons: ['causative']},
+ {term: '遊ぶ', source: '遊ばせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '遊ぶ', source: '遊べ', rule: 'v5', reasons: ['imperative']},
+ {term: '遊ぶ', source: '遊ばない', rule: 'v5', reasons: ['negative']},
+ {term: '遊ぶ', source: '遊びません', rule: 'v5', reasons: ['polite negative']},
+ {term: '遊ぶ', source: '遊ばなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '遊ぶ', source: '遊びませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '遊ぶ', source: '遊ばなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '遊ぶ', source: '遊べない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '遊ぶ', source: '遊ばれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '遊ぶ', source: '遊ばせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '遊ぶ', source: '遊ばせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '遊ぶ', source: '遊ぶな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '遊ぶ', source: '遊べば', rule: 'v5', reasons: ['-ba']},
+ {term: '遊ぶ', source: '遊んじゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '遊ぶ', source: '遊びなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '遊ぶ', source: '遊びそう', rule: 'v5', reasons: ['-sou']},
+ {term: '遊ぶ', source: '遊びすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '遊ぶ', source: '遊びたい', rule: 'v5', reasons: ['-tai']},
+ {term: '遊ぶ', source: '遊んだら', rule: 'v5', reasons: ['-tara']},
+ {term: '遊ぶ', source: '遊んだり', rule: 'v5', reasons: ['-tari']},
+ {term: '遊ぶ', source: '遊ばず', rule: 'v5', reasons: ['-zu']},
+ {term: '遊ぶ', source: '遊ばぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '遊ぶ', source: '遊び', rule: 'v5', reasons: ['masu stem']},
+ {term: '遊ぶ', source: '遊びましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '遊ぶ', source: '遊ぼう', rule: 'v5', reasons: ['volitional']},
+ {term: '遊ぶ', source: '遊ばされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '遊ぶ', source: '遊んどく', rule: 'v5', reasons: ['-toku']},
+ {term: '遊ぶ', source: '遊んでいる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '遊ぶ', source: '遊んでおる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '遊ぶ', source: '遊んでる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '飲む', source: '飲む', rule: 'v5', reasons: []},
+ {term: '飲む', source: '飲みます', rule: 'v5', reasons: ['polite']},
+ {term: '飲む', source: '飲んだ', rule: 'v5', reasons: ['past']},
+ {term: '飲む', source: '飲みました', rule: 'v5', reasons: ['polite past']},
+ {term: '飲む', source: '飲んで', rule: 'v5', reasons: ['-te']},
+ {term: '飲む', source: '飲める', rule: 'v5', reasons: ['potential']},
+ {term: '飲む', source: '飲まれる', rule: 'v5', reasons: ['passive']},
+ {term: '飲む', source: '飲ませる', rule: 'v5', reasons: ['causative']},
+ {term: '飲む', source: '飲ませられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '飲む', source: '飲め', rule: 'v5', reasons: ['imperative']},
+ {term: '飲む', source: '飲まない', rule: 'v5', reasons: ['negative']},
+ {term: '飲む', source: '飲みません', rule: 'v5', reasons: ['polite negative']},
+ {term: '飲む', source: '飲まなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '飲む', source: '飲みませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '飲む', source: '飲まなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '飲む', source: '飲めない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '飲む', source: '飲まれない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '飲む', source: '飲ませない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '飲む', source: '飲ませられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '飲む', source: '飲むな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '飲む', source: '飲めば', rule: 'v5', reasons: ['-ba']},
+ {term: '飲む', source: '飲んじゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '飲む', source: '飲みなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '飲む', source: '飲みそう', rule: 'v5', reasons: ['-sou']},
+ {term: '飲む', source: '飲みすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '飲む', source: '飲みたい', rule: 'v5', reasons: ['-tai']},
+ {term: '飲む', source: '飲んだら', rule: 'v5', reasons: ['-tara']},
+ {term: '飲む', source: '飲んだり', rule: 'v5', reasons: ['-tari']},
+ {term: '飲む', source: '飲まず', rule: 'v5', reasons: ['-zu']},
+ {term: '飲む', source: '飲まぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '飲む', source: '飲み', rule: 'v5', reasons: ['masu stem']},
+ {term: '飲む', source: '飲みましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '飲む', source: '飲もう', rule: 'v5', reasons: ['volitional']},
+ {term: '飲む', source: '飲まされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '飲む', source: '飲んどく', rule: 'v5', reasons: ['-toku']},
+ {term: '飲む', source: '飲んでいる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '飲む', source: '飲んでおる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '飲む', source: '飲んでる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '作る', source: '作る', rule: 'v5', reasons: []},
+ {term: '作る', source: '作ります', rule: 'v5', reasons: ['polite']},
+ {term: '作る', source: '作った', rule: 'v5', reasons: ['past']},
+ {term: '作る', source: '作りました', rule: 'v5', reasons: ['polite past']},
+ {term: '作る', source: '作って', rule: 'v5', reasons: ['-te']},
+ {term: '作る', source: '作れる', rule: 'v5', reasons: ['potential']},
+ {term: '作る', source: '作られる', rule: 'v5', reasons: ['passive']},
+ {term: '作る', source: '作らせる', rule: 'v5', reasons: ['causative']},
+ {term: '作る', source: '作らせられる', rule: 'v5', reasons: ['causative', 'potential or passive']},
+ {term: '作る', source: '作れ', rule: 'v5', reasons: ['imperative']},
+ {term: '作る', source: '作らない', rule: 'v5', reasons: ['negative']},
+ {term: '作る', source: '作りません', rule: 'v5', reasons: ['polite negative']},
+ {term: '作る', source: '作らなかった', rule: 'v5', reasons: ['negative', 'past']},
+ {term: '作る', source: '作りませんでした', rule: 'v5', reasons: ['polite past negative']},
+ {term: '作る', source: '作らなくて', rule: 'v5', reasons: ['negative', '-te']},
+ {term: '作る', source: '作れない', rule: 'v5', reasons: ['potential', 'negative']},
+ {term: '作る', source: '作られない', rule: 'v5', reasons: ['passive', 'negative']},
+ {term: '作る', source: '作らせない', rule: 'v5', reasons: ['causative', 'negative']},
+ {term: '作る', source: '作らせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '作る', source: '作るな', rule: 'v5', reasons: ['imperative negative']},
+
+ {term: '作る', source: '作れば', rule: 'v5', reasons: ['-ba']},
+ {term: '作る', source: '作っちゃう', rule: 'v5', reasons: ['-chau']},
+ {term: '作る', source: '作りなさい', rule: 'v5', reasons: ['-nasai']},
+ {term: '作る', source: '作りそう', rule: 'v5', reasons: ['-sou']},
+ {term: '作る', source: '作りすぎる', rule: 'v5', reasons: ['-sugiru']},
+ {term: '作る', source: '作りたい', rule: 'v5', reasons: ['-tai']},
+ {term: '作る', source: '作ったら', rule: 'v5', reasons: ['-tara']},
+ {term: '作る', source: '作ったり', rule: 'v5', reasons: ['-tari']},
+ {term: '作る', source: '作らず', rule: 'v5', reasons: ['-zu']},
+ {term: '作る', source: '作らぬ', rule: 'v5', reasons: ['-nu']},
+ {term: '作る', source: '作り', rule: 'v5', reasons: ['masu stem']},
+ {term: '作る', source: '作りましょう', rule: 'v5', reasons: ['polite volitional']},
+ {term: '作る', source: '作ろう', rule: 'v5', reasons: ['volitional']},
+ {term: '作る', source: '作らされる', rule: 'v5', reasons: ['causative passive']},
+ {term: '作る', source: '作っとく', rule: 'v5', reasons: ['-toku']},
+ {term: '作る', source: '作っている', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '作る', source: '作っておる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '作る', source: '作ってる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+ {term: '作る', source: '作っとる', rule: 'v5', reasons: ['-te', 'progressive or perfect']},
+
+ // Irregular verbs
+ {term: '為る', source: '為る', rule: 'vs', reasons: []},
+ {term: '為る', source: '為ます', rule: 'vs', reasons: ['polite']},
+ {term: '為る', source: '為た', rule: 'vs', reasons: ['past']},
+ {term: '為る', source: '為ました', rule: 'vs', reasons: ['polite past']},
+ {term: '為る', source: '為て', rule: 'vs', reasons: ['-te']},
+ // ['potential']
+ {term: '為る', source: '為れる', rule: 'vs', reasons: ['passive']},
+ {term: '為る', source: '為せる', rule: 'vs', reasons: ['causative']},
+ {term: '為る', source: '為せられる', rule: 'vs', reasons: ['causative', 'potential or passive']},
+ {term: '為る', source: '為ろ', rule: 'vs', reasons: ['imperative']},
+ {term: '為る', source: '為ない', rule: 'vs', reasons: ['negative']},
+ {term: '為る', source: '為ません', rule: 'vs', reasons: ['polite negative']},
+ {term: '為る', source: '為なかった', rule: 'vs', reasons: ['negative', 'past']},
+ {term: '為る', source: '為ませんでした', rule: 'vs', reasons: ['polite past negative']},
+ {term: '為る', source: '為なくて', rule: 'vs', reasons: ['negative', '-te']},
+ // ['potential', 'negative']
+ {term: '為る', source: '為れない', rule: 'vs', reasons: ['passive', 'negative']},
+ {term: '為る', source: '為せない', rule: 'vs', reasons: ['causative', 'negative']},
+ {term: '為る', source: '為せられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '為る', source: '為るな', rule: 'vs', reasons: ['imperative negative']},
+
+ {term: '為る', source: '為れば', rule: 'vs', reasons: ['-ba']},
+ {term: '為る', source: '為ちゃう', rule: 'vs', reasons: ['-chau']},
+ {term: '為る', source: '為なさい', rule: 'vs', reasons: ['-nasai']},
+ {term: '為る', source: '為そう', rule: 'vs', reasons: ['-sou']},
+ {term: '為る', source: '為すぎる', rule: 'vs', reasons: ['-sugiru']},
+ {term: '為る', source: '為たい', rule: 'vs', reasons: ['-tai']},
+ {term: '為る', source: '為たら', rule: 'vs', reasons: ['-tara']},
+ {term: '為る', source: '為たり', rule: 'vs', reasons: ['-tari']},
+ {term: '為る', source: '為ず', rule: 'vs', reasons: ['-zu']},
+ {term: '為る', source: '為ぬ', rule: 'vs', reasons: ['-nu']},
+ // ['masu stem']
+ {term: '為る', source: '為ましょう', rule: 'vs', reasons: ['polite volitional']},
+ {term: '為る', source: '為よう', rule: 'vs', reasons: ['volitional']},
+ // ['causative passive']
+ {term: '為る', source: '為とく', rule: 'vs', reasons: ['-toku']},
+ {term: '為る', source: '為ている', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: '為る', source: '為ておる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: '為る', source: '為てる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: '為る', source: '為とる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+
+ {term: 'する', source: 'する', rule: 'vs', reasons: []},
+ {term: 'する', source: 'します', rule: 'vs', reasons: ['polite']},
+ {term: 'する', source: 'した', rule: 'vs', reasons: ['past']},
+ {term: 'する', source: 'しました', rule: 'vs', reasons: ['polite past']},
+ {term: 'する', source: 'して', rule: 'vs', reasons: ['-te']},
+ // ['potential']
+ {term: 'する', source: 'される', rule: 'vs', reasons: ['passive']},
+ {term: 'する', source: 'させる', rule: 'vs', reasons: ['causative']},
+ {term: 'する', source: 'させられる', rule: 'vs', reasons: ['causative', 'potential or passive']},
+ {term: 'する', source: 'しろ', rule: 'vs', reasons: ['imperative']},
+ {term: 'する', source: 'しない', rule: 'vs', reasons: ['negative']},
+ {term: 'する', source: 'しません', rule: 'vs', reasons: ['polite negative']},
+ {term: 'する', source: 'しなかった', rule: 'vs', reasons: ['negative', 'past']},
+ {term: 'する', source: 'しませんでした', rule: 'vs', reasons: ['polite past negative']},
+ {term: 'する', source: 'しなくて', rule: 'vs', reasons: ['negative', '-te']},
+ // ['potential', 'negative']
+ {term: 'する', source: 'されない', rule: 'vs', reasons: ['passive', 'negative']},
+ {term: 'する', source: 'させない', rule: 'vs', reasons: ['causative', 'negative']},
+ {term: 'する', source: 'させられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: 'する', source: 'するな', rule: 'vs', reasons: ['imperative negative']},
+
+ {term: 'する', source: 'すれば', rule: 'vs', reasons: ['-ba']},
+ {term: 'する', source: 'しちゃう', rule: 'vs', reasons: ['-chau']},
+ {term: 'する', source: 'しなさい', rule: 'vs', reasons: ['-nasai']},
+ {term: 'する', source: 'しそう', rule: 'vs', reasons: ['-sou']},
+ {term: 'する', source: 'しすぎる', rule: 'vs', reasons: ['-sugiru']},
+ {term: 'する', source: 'したい', rule: 'vs', reasons: ['-tai']},
+ {term: 'する', source: 'したら', rule: 'vs', reasons: ['-tara']},
+ {term: 'する', source: 'したり', rule: 'vs', reasons: ['-tari']},
+ {term: 'する', source: 'せず', rule: 'vs', reasons: ['-zu']},
+ {term: 'する', source: 'せぬ', rule: 'vs', reasons: ['-nu']},
+ // ['masu stem']
+ {term: 'する', source: 'しましょう', rule: 'vs', reasons: ['polite volitional']},
+ {term: 'する', source: 'しよう', rule: 'vs', reasons: ['volitional']},
+ // ['causative passive']
+ {term: 'する', source: 'しとく', rule: 'vs', reasons: ['-toku']},
+ {term: 'する', source: 'している', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: 'する', source: 'しておる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: 'する', source: 'してる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+ {term: 'する', source: 'しとる', rule: 'vs', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '来る', source: '来る', rule: 'vk', reasons: []},
+ {term: '来る', source: '来ます', rule: 'vk', reasons: ['polite']},
+ {term: '来る', source: '来た', rule: 'vk', reasons: ['past']},
+ {term: '来る', source: '来ました', rule: 'vk', reasons: ['polite past']},
+ {term: '来る', source: '来て', rule: 'vk', reasons: ['-te']},
+ {term: '来る', source: '来られる', rule: 'vk', reasons: ['potential or passive']},
+ {term: '来る', source: '来られる', rule: 'vk', reasons: ['potential or passive']},
+ {term: '来る', source: '来させる', rule: 'vk', reasons: ['causative']},
+ {term: '来る', source: '来させられる', rule: 'vk', reasons: ['causative', 'potential or passive']},
+ {term: '来る', source: '来い', rule: 'vk', reasons: ['imperative']},
+ {term: '来る', source: '来ない', rule: 'vk', reasons: ['negative']},
+ {term: '来る', source: '来ません', rule: 'vk', reasons: ['polite negative']},
+ {term: '来る', source: '来なかった', rule: 'vk', reasons: ['negative', 'past']},
+ {term: '来る', source: '来ませんでした', rule: 'vk', reasons: ['polite past negative']},
+ {term: '来る', source: '来なくて', rule: 'vk', reasons: ['negative', '-te']},
+ {term: '来る', source: '来られない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: '来る', source: '来られない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: '来る', source: '来させない', rule: 'vk', reasons: ['causative', 'negative']},
+ {term: '来る', source: '来させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '来る', source: '来るな', rule: 'vk', reasons: ['imperative negative']},
+
+ {term: '来る', source: '来れば', rule: 'vk', reasons: ['-ba']},
+ {term: '来る', source: '来ちゃう', rule: 'vk', reasons: ['-chau']},
+ {term: '来る', source: '来なさい', rule: 'vk', reasons: ['-nasai']},
+ {term: '来る', source: '来そう', rule: 'vk', reasons: ['-sou']},
+ {term: '来る', source: '来すぎる', rule: 'vk', reasons: ['-sugiru']},
+ {term: '来る', source: '来たい', rule: 'vk', reasons: ['-tai']},
+ {term: '来る', source: '来たら', rule: 'vk', reasons: ['-tara']},
+ {term: '来る', source: '来たり', rule: 'vk', reasons: ['-tari']},
+ {term: '来る', source: '来ず', rule: 'vk', reasons: ['-zu']},
+ {term: '来る', source: '来ぬ', rule: 'vk', reasons: ['-nu']},
+ {term: '来る', source: '来', rule: 'vk', reasons: ['masu stem']},
+ {term: '来る', source: '来ましょう', rule: 'vk', reasons: ['polite volitional']},
+ {term: '来る', source: '来よう', rule: 'vk', reasons: ['volitional']},
+ // ['causative passive']
+ {term: '来る', source: '来とく', rule: 'vk', reasons: ['-toku']},
+ {term: '来る', source: '来ている', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '来る', source: '来ておる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '来る', source: '来てる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '来る', source: '来とる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+
+ {term: '來る', source: '來る', rule: 'vk', reasons: []},
+ {term: '來る', source: '來ます', rule: 'vk', reasons: ['polite']},
+ {term: '來る', source: '來た', rule: 'vk', reasons: ['past']},
+ {term: '來る', source: '來ました', rule: 'vk', reasons: ['polite past']},
+ {term: '來る', source: '來て', rule: 'vk', reasons: ['-te']},
+ {term: '來る', source: '來られる', rule: 'vk', reasons: ['potential or passive']},
+ {term: '來る', source: '來られる', rule: 'vk', reasons: ['potential or passive']},
+ {term: '來る', source: '來させる', rule: 'vk', reasons: ['causative']},
+ {term: '來る', source: '來させられる', rule: 'vk', reasons: ['causative', 'potential or passive']},
+ {term: '來る', source: '來い', rule: 'vk', reasons: ['imperative']},
+ {term: '來る', source: '來ない', rule: 'vk', reasons: ['negative']},
+ {term: '來る', source: '來ません', rule: 'vk', reasons: ['polite negative']},
+ {term: '來る', source: '來なかった', rule: 'vk', reasons: ['negative', 'past']},
+ {term: '來る', source: '來ませんでした', rule: 'vk', reasons: ['polite past negative']},
+ {term: '來る', source: '來なくて', rule: 'vk', reasons: ['negative', '-te']},
+ {term: '來る', source: '來られない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: '來る', source: '來られない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: '來る', source: '來させない', rule: 'vk', reasons: ['causative', 'negative']},
+ {term: '來る', source: '來させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: '來る', source: '來るな', rule: 'vk', reasons: ['imperative negative']},
+
+ {term: '來る', source: '來れば', rule: 'vk', reasons: ['-ba']},
+ {term: '來る', source: '來ちゃう', rule: 'vk', reasons: ['-chau']},
+ {term: '來る', source: '來なさい', rule: 'vk', reasons: ['-nasai']},
+ {term: '來る', source: '來そう', rule: 'vk', reasons: ['-sou']},
+ {term: '來る', source: '來すぎる', rule: 'vk', reasons: ['-sugiru']},
+ {term: '來る', source: '來たい', rule: 'vk', reasons: ['-tai']},
+ {term: '來る', source: '來たら', rule: 'vk', reasons: ['-tara']},
+ {term: '來る', source: '來たり', rule: 'vk', reasons: ['-tari']},
+ {term: '來る', source: '來ず', rule: 'vk', reasons: ['-zu']},
+ {term: '來る', source: '來ぬ', rule: 'vk', reasons: ['-nu']},
+ {term: '來る', source: '來', rule: 'vk', reasons: ['masu stem']},
+ {term: '來る', source: '來ましょう', rule: 'vk', reasons: ['polite volitional']},
+ {term: '來る', source: '來よう', rule: 'vk', reasons: ['volitional']},
+ // ['causative passive']
+ {term: '來る', source: '來とく', rule: 'vk', reasons: ['-toku']},
+ {term: '來る', source: '來ている', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '來る', source: '來ておる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '來る', source: '來てる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: '來る', source: '來とる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+
+ {term: 'くる', source: 'くる', rule: 'vk', reasons: []},
+ {term: 'くる', source: 'きます', rule: 'vk', reasons: ['polite']},
+ {term: 'くる', source: 'きた', rule: 'vk', reasons: ['past']},
+ {term: 'くる', source: 'きました', rule: 'vk', reasons: ['polite past']},
+ {term: 'くる', source: 'きて', rule: 'vk', reasons: ['-te']},
+ {term: 'くる', source: 'こられる', rule: 'vk', reasons: ['potential or passive']},
+ {term: 'くる', source: 'こられる', rule: 'vk', reasons: ['potential or passive']},
+ {term: 'くる', source: 'こさせる', rule: 'vk', reasons: ['causative']},
+ {term: 'くる', source: 'こさせられる', rule: 'vk', reasons: ['causative', 'potential or passive']},
+ {term: 'くる', source: 'こい', rule: 'vk', reasons: ['imperative']},
+ {term: 'くる', source: 'こない', rule: 'vk', reasons: ['negative']},
+ {term: 'くる', source: 'きません', rule: 'vk', reasons: ['polite negative']},
+ {term: 'くる', source: 'こなかった', rule: 'vk', reasons: ['negative', 'past']},
+ {term: 'くる', source: 'きませんでした', rule: 'vk', reasons: ['polite past negative']},
+ {term: 'くる', source: 'こなくて', rule: 'vk', reasons: ['negative', '-te']},
+ {term: 'くる', source: 'こられない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: 'くる', source: 'こられない', rule: 'vk', reasons: ['potential or passive', 'negative']},
+ {term: 'くる', source: 'こさせない', rule: 'vk', reasons: ['causative', 'negative']},
+ {term: 'くる', source: 'こさせられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']},
+ {term: 'くる', source: 'くるな', rule: 'vk', reasons: ['imperative negative']},
+
+ {term: 'くる', source: 'くれば', rule: 'vk', reasons: ['-ba']},
+ {term: 'くる', source: 'きちゃう', rule: 'vk', reasons: ['-chau']},
+ {term: 'くる', source: 'きなさい', rule: 'vk', reasons: ['-nasai']},
+ {term: 'くる', source: 'きそう', rule: 'vk', reasons: ['-sou']},
+ {term: 'くる', source: 'きすぎる', rule: 'vk', reasons: ['-sugiru']},
+ {term: 'くる', source: 'きたい', rule: 'vk', reasons: ['-tai']},
+ {term: 'くる', source: 'きたら', rule: 'vk', reasons: ['-tara']},
+ {term: 'くる', source: 'きたり', rule: 'vk', reasons: ['-tari']},
+ {term: 'くる', source: 'こず', rule: 'vk', reasons: ['-zu']},
+ {term: 'くる', source: 'こぬ', rule: 'vk', reasons: ['-nu']},
+ {term: 'くる', source: 'き', rule: 'vk', reasons: ['masu stem']},
+ {term: 'くる', source: 'きましょう', rule: 'vk', reasons: ['polite volitional']},
+ {term: 'くる', source: 'こよう', rule: 'vk', reasons: ['volitional']},
+ // ['causative passive']
+ {term: 'くる', source: 'きとく', rule: 'vk', reasons: ['-toku']},
+ {term: 'くる', source: 'きている', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: 'くる', source: 'きておる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: 'くる', source: 'きてる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+ {term: 'くる', source: 'きとる', rule: 'vk', reasons: ['-te', 'progressive or perfect']},
+
+ // Uncommon irregular verbs
+ {term: 'のたまう', source: 'のたもうて', rule: 'v5', reasons: ['-te']},
+ {term: 'のたまう', source: 'のたもうた', rule: 'v5', reasons: ['past']},
+ {term: 'のたまう', source: 'のたもうたら', rule: 'v5', reasons: ['-tara']},
+ {term: 'のたまう', source: 'のたもうたり', rule: 'v5', reasons: ['-tari']},
+
+ {term: 'おう', source: 'おうて', rule: 'v5', reasons: ['-te']},
+ {term: 'こう', source: 'こうて', rule: 'v5', reasons: ['-te']},
+ {term: 'そう', source: 'そうて', rule: 'v5', reasons: ['-te']},
+ {term: 'とう', source: 'とうて', rule: 'v5', reasons: ['-te']},
+ {term: '請う', source: '請うて', rule: 'v5', reasons: ['-te']},
+ {term: '乞う', source: '乞うて', rule: 'v5', reasons: ['-te']},
+ {term: '恋う', source: '恋うて', rule: 'v5', reasons: ['-te']},
+ {term: '問う', source: '問うて', rule: 'v5', reasons: ['-te']},
+ {term: '負う', source: '負うて', rule: 'v5', reasons: ['-te']},
+ {term: '沿う', source: '沿うて', rule: 'v5', reasons: ['-te']},
+ {term: '添う', source: '添うて', rule: 'v5', reasons: ['-te']},
+ {term: '副う', source: '副うて', rule: 'v5', reasons: ['-te']},
+ {term: '厭う', source: '厭うて', rule: 'v5', reasons: ['-te']},
+
+ {term: 'おう', source: 'おうた', rule: 'v5', reasons: ['past']},
+ {term: 'こう', source: 'こうた', rule: 'v5', reasons: ['past']},
+ {term: 'そう', source: 'そうた', rule: 'v5', reasons: ['past']},
+ {term: 'とう', source: 'とうた', rule: 'v5', reasons: ['past']},
+ {term: '請う', source: '請うた', rule: 'v5', reasons: ['past']},
+ {term: '乞う', source: '乞うた', rule: 'v5', reasons: ['past']},
+ {term: '恋う', source: '恋うた', rule: 'v5', reasons: ['past']},
+ {term: '問う', source: '問うた', rule: 'v5', reasons: ['past']},
+ {term: '負う', source: '負うた', rule: 'v5', reasons: ['past']},
+ {term: '沿う', source: '沿うた', rule: 'v5', reasons: ['past']},
+ {term: '添う', source: '添うた', rule: 'v5', reasons: ['past']},
+ {term: '副う', source: '副うた', rule: 'v5', reasons: ['past']},
+ {term: '厭う', source: '厭うた', rule: 'v5', reasons: ['past']},
+
+ {term: 'おう', source: 'おうたら', rule: 'v5', reasons: ['-tara']},
+ {term: 'こう', source: 'こうたら', rule: 'v5', reasons: ['-tara']},
+ {term: 'そう', source: 'そうたら', rule: 'v5', reasons: ['-tara']},
+ {term: 'とう', source: 'とうたら', rule: 'v5', reasons: ['-tara']},
+ {term: '請う', source: '請うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '乞う', source: '乞うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '恋う', source: '恋うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '問う', source: '問うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '負う', source: '負うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '沿う', source: '沿うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '添う', source: '添うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '副う', source: '副うたら', rule: 'v5', reasons: ['-tara']},
+ {term: '厭う', source: '厭うたら', rule: 'v5', reasons: ['-tara']},
+
+ {term: 'おう', source: 'おうたり', rule: 'v5', reasons: ['-tari']},
+ {term: 'こう', source: 'こうたり', rule: 'v5', reasons: ['-tari']},
+ {term: 'そう', source: 'そうたり', rule: 'v5', reasons: ['-tari']},
+ {term: 'とう', source: 'とうたり', rule: 'v5', reasons: ['-tari']},
+ {term: '請う', source: '請うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '乞う', source: '乞うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '恋う', source: '恋うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '問う', source: '問うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '負う', source: '負うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '沿う', source: '沿うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '添う', source: '添うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '副う', source: '副うたり', rule: 'v5', reasons: ['-tari']},
+ {term: '厭う', source: '厭うたり', rule: 'v5', reasons: ['-tari']},
+
+ // Combinations
+ {term: '抱き抱える', source: '抱き抱えていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']},
+ {term: '抱きかかえる', source: '抱きかかえていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']},
+ {term: '打ち込む', source: '打ち込んでいませんでした', rule: 'v5', reasons: ['-te', 'progressive or perfect', 'polite past negative']},
+ {term: '食べる', source: '食べさせられたくなかった', rule: 'v1', reasons: ['causative', 'potential or passive', '-tai', 'negative', 'past']}
+ ]
+ },
+ {
+ valid: false,
+ tests: [
+ {term: 'する', source: 'すます', rule: 'vs'},
+ {term: 'する', source: 'すた', rule: 'vs'},
+ {term: 'する', source: 'すました', rule: 'vs'},
+ {term: 'する', source: 'すて', rule: 'vs'},
+ {term: 'する', source: 'すれる', rule: 'vs'},
+ {term: 'する', source: 'すせる', rule: 'vs'},
+ {term: 'する', source: 'すせられる', rule: 'vs'},
+ {term: 'する', source: 'すろ', rule: 'vs'},
+ {term: 'する', source: 'すない', rule: 'vs'},
+ {term: 'する', source: 'すません', rule: 'vs'},
+ {term: 'する', source: 'すなかった', rule: 'vs'},
+ {term: 'する', source: 'すませんでした', rule: 'vs'},
+ {term: 'する', source: 'すなくて', rule: 'vs'},
+ {term: 'する', source: 'すれない', rule: 'vs'},
+ {term: 'する', source: 'すせない', rule: 'vs'},
+ {term: 'する', source: 'すせられない', rule: 'vs'},
+
+ {term: 'くる', source: 'くます', rule: 'vk'},
+ {term: 'くる', source: 'くた', rule: 'vk'},
+ {term: 'くる', source: 'くました', rule: 'vk'},
+ {term: 'くる', source: 'くて', rule: 'vk'},
+ {term: 'くる', source: 'くられる', rule: 'vk'},
+ {term: 'くる', source: 'くられる', rule: 'vk'},
+ {term: 'くる', source: 'くさせる', rule: 'vk'},
+ {term: 'くる', source: 'くさせられる', rule: 'vk'},
+ {term: 'くる', source: 'くい', rule: 'vk'},
+ {term: 'くる', source: 'くない', rule: 'vk'},
+ {term: 'くる', source: 'くません', rule: 'vk'},
+ {term: 'くる', source: 'くなかった', rule: 'vk'},
+ {term: 'くる', source: 'くませんでした', rule: 'vk'},
+ {term: 'くる', source: 'くなくて', rule: 'vk'},
+ {term: 'くる', source: 'くられない', rule: 'vk'},
+ {term: 'くる', source: 'くられない', rule: 'vk'},
+ {term: 'くる', source: 'くさせない', rule: 'vk'},
+ {term: 'くる', source: 'くさせられない', rule: 'vk'}
+ ]
+ }
+ ];
+
+ const vm = new VM();
+ vm.execute(['bg/js/deinflector.js']);
+ const [Deinflector] = vm.get(['Deinflector']);
+
+ const deinflectionReasions = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'ext', 'bg/lang/deinflect.json')));
+ const deinflector = new Deinflector(deinflectionReasions);
+
+ for (const {valid, tests} of data) {
+ for (const {source, term, rule, reasons} of tests) {
+ const {has, reasons: actualReasons} = hasTermReasons(Deinflector, deinflector, source, term, rule, reasons);
+ let message = `${source} ${valid ? 'does not have' : 'has'} term candidate ${JSON.stringify(term)}`;
+ if (typeof rule !== 'undefined') {
+ message += ` with rule ${JSON.stringify(rule)}`;
+ }
+ if (typeof reasons !== 'undefined') {
+ message += (typeof rule !== 'undefined' ? ' and' : ' with');
+ message += ` reasons ${JSON.stringify(reasons)}`;
+ }
+ if (actualReasons !== null) {
+ message += ` (actual reasons: ${JSON.stringify(actualReasons)})`;
+ }
+ assert.strictEqual(has, valid, message);
+ }
+ }
+}
+
+
+function main() {
+ testDeinflections();
+}
+
+
+if (require.main === module) { testMain(main); }