From c6f43e822de56b074cfd726812e4ca41d0f1b304 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 23 Dec 2023 12:31:15 +0900 Subject: [PATCH 01/17] deinflect overhaul template --- ext/data/deinflect.json | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index 49ad4b72f4..6eea2cdd2e 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -127,6 +127,24 @@ {"kanaIn": "来たい", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}, {"kanaIn": "來たい", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]} ], + "informal -tai": [ + {"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": ["vz"]}, + {"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"]} + ], "-tara": [ {"kanaIn": "かったら", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "たら", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]}, @@ -378,6 +396,43 @@ {"kanaIn": "来ない", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}, {"kanaIn": "來ない", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]} ], + "informal negative": [ + {"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": ["vz"]}, + {"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": ["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": ["vz"]}, + {"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"]} + ], "noun": [ {"kanaIn": "さ", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]} ], @@ -641,5 +696,11 @@ {"kanaIn": "でえ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "れえ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "べえ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]} + ], + "internet slang": [ + {"kanaIn": "てぇてぇ", "kanaOut": "とうとい", "rulesIn": [], "rulesOut": ["adj-i"]} + ], + "kansaiben past": [ + {"kanaIn": "つこうた", "kanaOut": "つかう", "rulesIn": [], "rulesOut": ["v5"]} ] } From eb357c800c686bd439a37b1d436e30295928cb81 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 23 Dec 2023 12:40:01 +0900 Subject: [PATCH 02/17] remove duplicates with -e rule --- ext/data/deinflect.json | 62 +++-------------------------------------- 1 file changed, 4 insertions(+), 58 deletions(-) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index 6eea2cdd2e..1c7ae4f731 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -127,24 +127,6 @@ {"kanaIn": "来たい", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}, {"kanaIn": "來たい", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]} ], - "informal -tai": [ - {"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": ["vz"]}, - {"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"]} - ], "-tara": [ {"kanaIn": "かったら", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "たら", "kanaOut": "る", "rulesIn": [], "rulesOut": ["v1"]}, @@ -396,43 +378,6 @@ {"kanaIn": "来ない", "kanaOut": "来る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]}, {"kanaIn": "來ない", "kanaOut": "來る", "rulesIn": ["adj-i"], "rulesOut": ["vk"]} ], - "informal negative": [ - {"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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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"]} - ], "noun": [ {"kanaIn": "さ", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]} ], @@ -695,12 +640,13 @@ {"kanaIn": "ちぇえ", "kanaOut": "ちゃい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "でえ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "れえ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "べえ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]} + {"kanaIn": "べえ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "てぇ", "kanaOut": "たい", "rulesIn": [], "rulesOut": ["adj-i"]} ], "internet slang": [ {"kanaIn": "てぇてぇ", "kanaOut": "とうとい", "rulesIn": [], "rulesOut": ["adj-i"]} ], - "kansaiben past": [ - {"kanaIn": "つこうた", "kanaOut": "つかう", "rulesIn": [], "rulesOut": ["v5"]} + "kansaiben": [ + {"kanaIn": "つこうた", "kanaOut": "つかった", "rulesIn": [], "rulesOut": ["v5"]} ] } From 72dfd569b904ec5fef8747be6ee32dc831f65002 Mon Sep 17 00:00:00 2001 From: Cashew Date: Wed, 27 Dec 2023 17:33:11 +0700 Subject: [PATCH 03/17] deinflection updates --- ext/data/deinflect.json | 52 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index 1c7ae4f731..36dc642083 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -274,6 +274,24 @@ {"kanaIn": "来ぬ", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]}, {"kanaIn": "來ぬ", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]} ], + "-zaru": [ + {"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": ["vz"]}, + {"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"]} ], @@ -641,12 +659,40 @@ {"kanaIn": "でえ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "れえ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "べえ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "てえ", "kanaOut": "たい", "rulesIn": [], "rulesOut": ["adj-i"]}, + + {"kanaIn": "ねぇ", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "めぇ", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "みぃ", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "ちぃ", "kanaOut": "つい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "せぇ", "kanaOut": "すい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "けぇ", "kanaOut": "かい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "げぇ", "kanaOut": "がい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "げぇ", "kanaOut": "ごい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "せぇ", "kanaOut": "さい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "めぇ", "kanaOut": "まい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "ぜぇ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "っぜぇ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "れぇ", "kanaOut": "らい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "でぇ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "れぇ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "べぇ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]}, {"kanaIn": "てぇ", "kanaOut": "たい", "rulesIn": [], "rulesOut": ["adj-i"]} ], - "internet slang": [ - {"kanaIn": "てぇてぇ", "kanaOut": "とうとい", "rulesIn": [], "rulesOut": ["adj-i"]} + "slang": [ + {"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": []}, + {"kanaIn": "神ってる", "kanaOut": "神がかっている", "rulesIn": [], "rulesOut": ["v5"]}, + {"kanaIn": "じわる", "kanaOut": "じわじわ来る", "rulesIn": [], "rulesOut": ["v5"]}, + {"kanaIn": "おさしみ", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "おやさい", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []} ], "kansaiben": [ - {"kanaIn": "つこうた", "kanaOut": "つかった", "rulesIn": [], "rulesOut": ["v5"]} + {"kanaIn": "こうた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "こた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []} ] } From 8b9700b42049bc9a1db686d9db92ff5ee784c5da Mon Sep 17 00:00:00 2001 From: Cashew Date: Thu, 28 Dec 2023 06:32:44 +0700 Subject: [PATCH 04/17] add neba deinflections --- ext/data/deinflect.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index 36dc642083..211eeabd9d 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -292,6 +292,24 @@ {"kanaIn": "来ざる", "kanaOut": "来る", "rulesIn": [], "rulesOut": ["vk"]}, {"kanaIn": "來ざる", "kanaOut": "來る", "rulesIn": [], "rulesOut": ["vk"]} ], + "-neba": [ + {"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": ["vz"]}, + {"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"]} ], From 4f0fb83a2124156ff9a5d893836fb514a3224a91 Mon Sep 17 00:00:00 2001 From: Cashew Date: Thu, 28 Dec 2023 23:42:58 +0700 Subject: [PATCH 05/17] kansaiben updates --- ext/data/deinflect.json | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index 211eeabd9d..f59dbe95ce 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -707,10 +707,29 @@ {"kanaIn": "神ってる", "kanaOut": "神がかっている", "rulesIn": [], "rulesOut": ["v5"]}, {"kanaIn": "じわる", "kanaOut": "じわじわ来る", "rulesIn": [], "rulesOut": ["v5"]}, {"kanaIn": "おさしみ", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "おやさい", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []} + {"kanaIn": "おやさい", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "わろた", "kanaOut": "笑った", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "わろた", "kanaOut": "わらった", "rulesIn": [], "rulesOut": []} ], "kansaiben": [ + {"kanaIn": "へん", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "ひん", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, + {"kanaIn": "へんかった", "kanaOut": "なかった", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "ひんかった", "kanaOut": "なかった", "rulesIn": [], "rulesOut": []}, {"kanaIn": "こうた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "こた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []} + {"kanaIn": "こた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "もうた", "kanaOut": "まった", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "うた", "kanaOut": "った", "rulesIn": [], "rulesOut": []}, + + {"kanaIn": "うない", "kanaOut": "くない", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "しゅうない", "kanaOut": "しくない", "rulesIn": [], "rulesOut": []}, + + {"kanaIn": "う", "kanaOut": "く", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "うて", "kanaOut": "くて", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "しゅうて", "kanaOut": "くて", "rulesIn": [], "rulesOut": []}, + + + {"kanaIn": "ゆうた", "kanaOut": "言った", "rulesIn": [], "rulesOut": []}, + {"kanaIn": "もろた", "kanaOut": "貰った", "rulesIn": [], "rulesOut": []} ] } From de714066851680314c988b577e77e6bd4c9db26a Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 29 Dec 2023 11:08:39 +0700 Subject: [PATCH 06/17] remove redundancy --- ext/js/general/cache-map.js | 1 - test/cache-map.test.js | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ext/js/general/cache-map.js b/ext/js/general/cache-map.js index a995b8c7b6..8650d8e694 100644 --- a/ext/js/general/cache-map.js +++ b/ext/js/general/cache-map.js @@ -29,7 +29,6 @@ export class CacheMap { */ constructor(maxSize) { if (!( - typeof maxSize === 'number' && Number.isFinite(maxSize) && maxSize >= 0 && Math.floor(maxSize) === maxSize diff --git a/test/cache-map.test.js b/test/cache-map.test.js index 52ada57ca8..9db306772b 100644 --- a/test/cache-map.test.js +++ b/test/cache-map.test.js @@ -31,9 +31,7 @@ function testConstructor() { [true, () => new CacheMap(-1)], [true, () => new CacheMap(1.5)], [true, () => new CacheMap(Number.NaN)], - [true, () => new CacheMap(Number.POSITIVE_INFINITY)], - // @ts-expect-error - Ignore because it should throw an error - [true, () => new CacheMap('a')] + [true, () => new CacheMap(Number.POSITIVE_INFINITY)] ]; for (const [throws, create] of data) { From f58d4274816796b2a89acd73a8e5d855571505b0 Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 29 Dec 2023 11:09:20 +0700 Subject: [PATCH 07/17] Revert "remove redundancy" This reverts commit de714066851680314c988b577e77e6bd4c9db26a. --- ext/js/general/cache-map.js | 1 + test/cache-map.test.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/js/general/cache-map.js b/ext/js/general/cache-map.js index 8650d8e694..a995b8c7b6 100644 --- a/ext/js/general/cache-map.js +++ b/ext/js/general/cache-map.js @@ -29,6 +29,7 @@ export class CacheMap { */ constructor(maxSize) { if (!( + typeof maxSize === 'number' && Number.isFinite(maxSize) && maxSize >= 0 && Math.floor(maxSize) === maxSize diff --git a/test/cache-map.test.js b/test/cache-map.test.js index 9db306772b..52ada57ca8 100644 --- a/test/cache-map.test.js +++ b/test/cache-map.test.js @@ -31,7 +31,9 @@ function testConstructor() { [true, () => new CacheMap(-1)], [true, () => new CacheMap(1.5)], [true, () => new CacheMap(Number.NaN)], - [true, () => new CacheMap(Number.POSITIVE_INFINITY)] + [true, () => new CacheMap(Number.POSITIVE_INFINITY)], + // @ts-expect-error - Ignore because it should throw an error + [true, () => new CacheMap('a')] ]; for (const [throws, create] of data) { From 0c9c1ec55cd6a3abc63f7380f58482c0e9c1f50a Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 2 Feb 2024 12:53:04 +0700 Subject: [PATCH 08/17] update deinflect.json --- ext/data/deinflect.json | 1760 +++++++++++++++++++++++---------------- 1 file changed, 1028 insertions(+), 732 deletions(-) diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json index f59dbe95ce..a8b75663e2 100644 --- a/ext/data/deinflect.json +++ b/ext/data/deinflect.json @@ -1,735 +1,1031 @@ { - "-ba": [ - {"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", "vz"]} - ], - "-chau": [ - {"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": ["vz"]}, - {"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"]} - ], - "-chimau": [ - {"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": ["vz"]}, - {"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"]} - ], - "-shimau": [ - {"kanaIn": "てしまう", "kanaOut": "て", "rulesIn": ["v5"], "rulesOut": ["iru"]}, - {"kanaIn": "でしまう", "kanaOut": "で", "rulesIn": ["v5"], "rulesOut": ["iru"]} - ], - "-nasai": [ - {"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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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"]} - ], - "-zaru": [ - {"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": ["vz"]}, - {"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"]} - ], - "-neba": [ - {"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": ["vz"]}, - {"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"]} - ], - "causative": [ - {"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": ["vz"]}, - {"kanaIn": "ぜさせる", "kanaOut": "ずる", "rulesIn": ["v1"], "rulesOut": ["vz"]}, - {"kanaIn": "させる", "kanaOut": "する", "rulesIn": ["v1"], "rulesOut": ["vs"]}, - {"kanaIn": "為せる", "kanaOut": "為る", "rulesIn": ["v1"], "rulesOut": ["vs"]}, - {"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": ["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": ["vz"]}, - {"kanaIn": "ぜよ", "kanaOut": "ずる", "rulesIn": [], "rulesOut": ["vz"]}, - {"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", "vz"]} - ], - "masu stem": [ - {"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": ["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": ["vz"]}, - {"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"]} - ], - "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": ["vz"]}, - {"kanaIn": "ぜされる", "kanaOut": "ずる", "rulesIn": ["v1"], "rulesOut": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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": ["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": ["vz"]}, - {"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"]}, - {"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": ["vz"]}, - {"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": ["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": ["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"]} - ], - "potential or passive": [ - {"kanaIn": "られる", "kanaOut": "る", "rulesIn": ["v1"], "rulesOut": ["v1"]}, - {"kanaIn": "ざれる", "kanaOut": "ずる", "rulesIn": ["v1"], "rulesOut": ["vz"]}, - {"kanaIn": "ぜられる", "kanaOut": "ずる", "rulesIn": ["v1"], "rulesOut": ["vz"]}, - {"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"]} - ], - "volitional": [ - {"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": ["vz"]}, - {"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"]} - ], - "-toku": [ - {"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": ["vz"]}, - {"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": ["v1"], "rulesOut": ["iru"]}, - {"kanaIn": "とる", "kanaOut": "て", "rulesIn": ["v5"], "rulesOut": ["iru"]}, - {"kanaIn": "ないでいる", "kanaOut": "ない", "rulesIn": ["v1"], "rulesOut": ["adj-i"]} - ], - "-ki": [ - {"kanaIn": "き", "kanaOut": "い", "rulesIn": [], "rulesOut": ["adj-i"]} - ], - "-ge": [ - {"kanaIn": "しげ", "kanaOut": "しい", "rulesIn": [], "rulesOut": ["adj-i"]} - ], - "-e": [ - {"kanaIn": "ねえ", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "めえ", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "みい", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ちぇえ", "kanaOut": "つい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ちい", "kanaOut": "つい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "せえ", "kanaOut": "すい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ええ", "kanaOut": "いい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ええ", "kanaOut": "わい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ええ", "kanaOut": "よい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "いぇえ", "kanaOut": "よい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "うぇえ", "kanaOut": "わい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "けえ", "kanaOut": "かい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "げえ", "kanaOut": "がい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "げえ", "kanaOut": "ごい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "せえ", "kanaOut": "さい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "めえ", "kanaOut": "まい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ぜえ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "っぜえ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "れえ", "kanaOut": "らい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "れえ", "kanaOut": "らい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ちぇえ", "kanaOut": "ちゃい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "でえ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "れえ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "べえ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "てえ", "kanaOut": "たい", "rulesIn": [], "rulesOut": ["adj-i"]}, - - {"kanaIn": "ねぇ", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "めぇ", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "みぃ", "kanaOut": "むい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ちぃ", "kanaOut": "つい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "せぇ", "kanaOut": "すい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "けぇ", "kanaOut": "かい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "げぇ", "kanaOut": "がい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "げぇ", "kanaOut": "ごい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "せぇ", "kanaOut": "さい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "めぇ", "kanaOut": "まい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ぜぇ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "っぜぇ", "kanaOut": "ずい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "れぇ", "kanaOut": "らい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "でぇ", "kanaOut": "どい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "れぇ", "kanaOut": "れい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "べぇ", "kanaOut": "ばい", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "てぇ", "kanaOut": "たい", "rulesIn": [], "rulesOut": ["adj-i"]} - ], - "slang": [ - {"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": []}, - {"kanaIn": "神ってる", "kanaOut": "神がかっている", "rulesIn": [], "rulesOut": ["v5"]}, - {"kanaIn": "じわる", "kanaOut": "じわじわ来る", "rulesIn": [], "rulesOut": ["v5"]}, - {"kanaIn": "おさしみ", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "おやさい", "kanaOut": "おやすみ", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "わろた", "kanaOut": "笑った", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "わろた", "kanaOut": "わらった", "rulesIn": [], "rulesOut": []} - ], - "kansaiben": [ - {"kanaIn": "へん", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "ひん", "kanaOut": "ない", "rulesIn": [], "rulesOut": ["adj-i"]}, - {"kanaIn": "へんかった", "kanaOut": "なかった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "ひんかった", "kanaOut": "なかった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "こうた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "こた", "kanaOut": "かった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "もうた", "kanaOut": "まった", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "うた", "kanaOut": "った", "rulesIn": [], "rulesOut": []}, - - {"kanaIn": "うない", "kanaOut": "くない", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "しゅうない", "kanaOut": "しくない", "rulesIn": [], "rulesOut": []}, - - {"kanaIn": "う", "kanaOut": "く", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "うて", "kanaOut": "くて", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "しゅうて", "kanaOut": "くて", "rulesIn": [], "rulesOut": []}, - - - {"kanaIn": "ゆうた", "kanaOut": "言った", "rulesIn": [], "rulesOut": []}, - {"kanaIn": "もろた", "kanaOut": "貰った", "rulesIn": [], "rulesOut": []} + "language": "ja", + "conditions": { + "v1": { + "name": "Ichidan verb", + "partsOfSpeech": ["v1"], + "i18n": [ + { + "language": "ja", + "name": "一段動詞" + } + ], + "subConditions": ["v1d", "v1p"] + }, + "v1d": { + "name": "Ichidan verb, dictionary form", + "partsOfSpeech": ["v1"], + "i18n": [ + { + "language": "ja", + "name": "一段動詞、辞書形" + } + ] + }, + "v1p": { + "name": "Ichidan verb, progressive or perfect form", + "partsOfSpeech": ["v1"], + "i18n": [ + { + "language": "ja", + "name": "一段動詞、進行形または完了形" + } + ] + }, + "v5": { + "name": "Godan verb", + "partsOfSpeech": ["v5"], + "i18n": [ + { + "language": "ja", + "name": "五段動詞" + } + ] + }, + "vk": { + "name": "Kuru verb", + "partsOfSpeech": ["vk"], + "i18n": [ + { + "language": "ja", + "name": "来る動詞" + } + ] + }, + "vs": { + "name": "Suru verb", + "partsOfSpeech": ["vs"], + "i18n": [ + { + "language": "ja", + "name": "する動詞" + } + ] + }, + "vz": { + "name": "Zuru verb", + "partsOfSpeech": ["vz"], + "i18n": [ + { + "language": "ja", + "name": "ずる動詞" + } + ] + }, + "adj-i": { + "name": "Adjective with i ending", + "partsOfSpeech": ["adj-i"], + "i18n": [ + { + "language": "ja", + "name": "形容詞" + } + ] + }, + "iru": { + "name": "Intermediate -iru endings for progressive or perfect tense", + "partsOfSpeech": [] + } + }, + "transforms": [ + { + "name": "-ba", + "description": "Conditional", + "i18n": [ + { + "language": "ja", + "name": "ば", + "description": "仮定形" + } + ], + "rules": [ + {"suffixIn": "ければ", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "えば", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "けば", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "げば", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "せば", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "てば", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ねば", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "べば", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "めば", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "れば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1", "v5", "vk", "vs", "vz"]} + ] + }, + { + "name": "-chau", + "rules": [ + {"suffixIn": "ちゃう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, + {"suffixIn": "いじゃう", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "いちゃう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "しちゃう", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちゃう", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちゃう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちゃう", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちゃう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじゃう", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじゃう", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじゃう", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "じちゃう", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, + {"suffixIn": "しちゃう", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "為ちゃう", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "きちゃう", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "来ちゃう", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "來ちゃう", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-chimau", + "rules": [ + {"suffixIn": "ちまう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, + {"suffixIn": "いじまう", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "いちまう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "しちまう", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちまう", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちまう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちまう", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っちまう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじまう", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじまう", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んじまう", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "じちまう", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, + {"suffixIn": "しちまう", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "為ちまう", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "きちまう", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "来ちまう", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "來ちまう", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-shimau", + "rules": [ + {"suffixIn": "てしまう", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, + {"suffixIn": "でしまう", "suffixOut": "で", "conditionsIn": ["v5"], "conditionsOut": ["iru"]} + ] + }, + { + "name": "-nasai", + "rules": [ + {"suffixIn": "なさい", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いなさい", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きなさい", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎなさい", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しなさい", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちなさい", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "になさい", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びなさい", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みなさい", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りなさい", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じなさい", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しなさい", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為なさい", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きなさい", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来なさい", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來なさい", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-sou", + "rules": [ + {"suffixIn": "そう", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "そう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いそう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きそう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎそう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しそう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちそう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にそう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びそう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みそう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りそう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じそう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しそう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為そう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きそう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来そう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來そう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-sugiru", + "rules": [ + {"suffixIn": "すぎる", "suffixOut": "い", "conditionsIn": ["v1"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "すぎる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, + {"suffixIn": "いすぎる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "きすぎる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎすぎる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "しすぎる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ちすぎる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "にすぎる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "びすぎる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "みすぎる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "りすぎる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "じすぎる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "しすぎる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "為すぎる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "きすぎる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "来すぎる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "來すぎる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-tai", + "rules": [ + {"suffixIn": "たい", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v1"]}, + {"suffixIn": "いたい", "suffixOut": "う", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "きたい", "suffixOut": "く", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎたい", "suffixOut": "ぐ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "したい", "suffixOut": "す", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "ちたい", "suffixOut": "つ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "にたい", "suffixOut": "ぬ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "びたい", "suffixOut": "ぶ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "みたい", "suffixOut": "む", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "りたい", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "じたい", "suffixOut": "ずる", "conditionsIn": ["adj-i"], "conditionsOut": ["vz"]}, + {"suffixIn": "したい", "suffixOut": "する", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, + {"suffixIn": "為たい", "suffixOut": "為る", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, + {"suffixIn": "きたい", "suffixOut": "くる", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, + {"suffixIn": "来たい", "suffixOut": "来る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, + {"suffixIn": "來たい", "suffixOut": "來る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-tara", + "rules": [ + {"suffixIn": "かったら", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "たら", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いたら", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "いだら", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "したら", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったら", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったら", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったら", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだら", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだら", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだら", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じたら", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "したら", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為たら", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きたら", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来たら", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來たら", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "いったら", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "おうたら", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "こうたら", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "そうたら", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "とうたら", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "行ったら", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "逝ったら", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "往ったら", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "請うたら", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "乞うたら", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "恋うたら", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "問うたら", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "負うたら", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "沿うたら", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "添うたら", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "副うたら", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "厭うたら", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "のたもうたら", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} + ] + }, + { + "name": "-tari", + "rules": [ + {"suffixIn": "かったり", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "たり", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いたり", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "いだり", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "したり", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったり", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったり", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ったり", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだり", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだり", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだり", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じたり", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "したり", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為たり", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きたり", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来たり", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來たり", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "いったり", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "おうたり", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "こうたり", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "そうたり", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "とうたり", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "行ったり", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "逝ったり", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "往ったり", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "請うたり", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "乞うたり", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "恋うたり", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "問うたり", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "負うたり", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "沿うたり", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "添うたり", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "副うたり", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "厭うたり", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "のたもうたり", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} + ] + }, + { + "name": "-te", + "rules": [ + {"suffixIn": "くて", "suffixOut": "い", "conditionsIn": ["iru"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "て", "suffixOut": "る", "conditionsIn": ["iru"], "conditionsOut": ["v1"]}, + {"suffixIn": "いて", "suffixOut": "く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "いで", "suffixOut": "ぐ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "して", "suffixOut": "す", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "って", "suffixOut": "う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "って", "suffixOut": "つ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "って", "suffixOut": "る", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "んで", "suffixOut": "ぬ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "んで", "suffixOut": "ぶ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "んで", "suffixOut": "む", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "じて", "suffixOut": "ずる", "conditionsIn": ["iru"], "conditionsOut": ["vz"]}, + {"suffixIn": "して", "suffixOut": "する", "conditionsIn": ["iru"], "conditionsOut": ["vs"]}, + {"suffixIn": "為て", "suffixOut": "為る", "conditionsIn": ["iru"], "conditionsOut": ["vs"]}, + {"suffixIn": "きて", "suffixOut": "くる", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, + {"suffixIn": "来て", "suffixOut": "来る", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, + {"suffixIn": "來て", "suffixOut": "來る", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, + {"suffixIn": "いって", "suffixOut": "いく", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "おうて", "suffixOut": "おう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "こうて", "suffixOut": "こう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "そうて", "suffixOut": "そう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "とうて", "suffixOut": "とう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "行って", "suffixOut": "行く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "逝って", "suffixOut": "逝く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "往って", "suffixOut": "往く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "請うて", "suffixOut": "請う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "乞うて", "suffixOut": "乞う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "恋うて", "suffixOut": "恋う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "問うて", "suffixOut": "問う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "負うて", "suffixOut": "負う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "沿うて", "suffixOut": "沿う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "添うて", "suffixOut": "添う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "副うて", "suffixOut": "副う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "厭うて", "suffixOut": "厭う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, + {"suffixIn": "のたもうて", "suffixOut": "のたまう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]} + ] + }, + { + "name": "-zu", + "rules": [ + {"suffixIn": "ず", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かず", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がず", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さず", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たず", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なず", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばず", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まず", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らず", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わず", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜず", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せず", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ず", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こず", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ず", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ず", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-nu", + "rules": [ + {"suffixIn": "ぬ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かぬ", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がぬ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さぬ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たぬ", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なぬ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばぬ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まぬ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らぬ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わぬ", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜぬ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せぬ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ぬ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こぬ", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ぬ", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ぬ", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-mu", + "rules": [ + {"suffixIn": "む", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かむ", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がむ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さむ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たむ", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なむ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばむ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まむ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らむ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わむ", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜむ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せむ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為む", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こむ", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来む", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來む", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-zaru", + "rules": [ + {"suffixIn": "ざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かざる", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がざる", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さざる", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たざる", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なざる", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばざる", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まざる", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わざる", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜざる", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せざる", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ざる", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こざる", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ざる", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ざる", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-neba", + "rules": [ + {"suffixIn": "ねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かねば", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がねば", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さねば", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たねば", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なねば", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばねば", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まねば", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わねば", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜねば", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せねば", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ねば", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こねば", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ねば", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ねば", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "adv", + "rules": [ + {"suffixIn": "く", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "causative", + "rules": [ + {"suffixIn": "させる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, + {"suffixIn": "かせる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "がせる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "させる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "たせる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "なせる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ばせる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ませる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "らせる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "わせる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "じさせる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "ぜさせる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "させる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "為せる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "せさせる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "為させる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "こさせる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "来させる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "來させる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "imperative", + "rules": [ + {"suffixIn": "ろ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "よ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "え", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "け", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "げ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "せ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "て", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ね", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "べ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "め", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "れ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じろ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "ぜよ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しろ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "せよ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ろ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為よ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こい", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来い", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來い", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "imperative negative", + "rules": [ + {"suffixIn": "な", "suffixOut": "", "conditionsIn": [], "conditionsOut": ["v1", "v5", "vk", "vs", "vz"]} + ] + }, + { + "name": "masu stem", + "rules": [ + {"suffixIn": "い", "suffixOut": "いる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "え", "suffixOut": "える", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "き", "suffixOut": "きる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "ぎ", "suffixOut": "ぎる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "け", "suffixOut": "ける", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "げ", "suffixOut": "げる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "じ", "suffixOut": "じる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "せ", "suffixOut": "せる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "ぜ", "suffixOut": "ぜる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "ち", "suffixOut": "ちる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "て", "suffixOut": "てる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "で", "suffixOut": "でる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "に", "suffixOut": "にる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "ね", "suffixOut": "ねる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "ひ", "suffixOut": "ひる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "び", "suffixOut": "びる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "へ", "suffixOut": "へる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "べ", "suffixOut": "べる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "み", "suffixOut": "みる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "め", "suffixOut": "める", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "り", "suffixOut": "りる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "れ", "suffixOut": "れる", "conditionsIn": [], "conditionsOut": ["v1d"]}, + {"suffixIn": "い", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "き", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "し", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ち", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "に", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "び", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "み", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "り", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "き", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "negative", + "rules": [ + {"suffixIn": "くない", "suffixOut": "い", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ない", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v1"]}, + {"suffixIn": "かない", "suffixOut": "く", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "がない", "suffixOut": "ぐ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "さない", "suffixOut": "す", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "たない", "suffixOut": "つ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "なない", "suffixOut": "ぬ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "ばない", "suffixOut": "ぶ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "まない", "suffixOut": "む", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "らない", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "わない", "suffixOut": "う", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, + {"suffixIn": "じない", "suffixOut": "ずる", "conditionsIn": ["adj-i"], "conditionsOut": ["vz"]}, + {"suffixIn": "しない", "suffixOut": "する", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, + {"suffixIn": "為ない", "suffixOut": "為る", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, + {"suffixIn": "こない", "suffixOut": "くる", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, + {"suffixIn": "来ない", "suffixOut": "来る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, + {"suffixIn": "來ない", "suffixOut": "來る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "noun", + "rules": [ + {"suffixIn": "さ", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "passive", + "rules": [ + {"suffixIn": "かれる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "がれる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "される", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "たれる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "なれる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ばれる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "まれる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "われる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "られる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "じされる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "ぜされる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "される", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "為れる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "こられる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "来られる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "來られる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "past", + "rules": [ + {"suffixIn": "かった", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "た", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いた", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "いだ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "した", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "った", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "った", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "った", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "んだ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じた", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "した", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為た", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きた", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来た", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來た", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "いった", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "おうた", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "こうた", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "そうた", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "とうた", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "行った", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "逝った", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "往った", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "請うた", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "乞うた", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "恋うた", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "問うた", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "負うた", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "沿うた", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "添うた", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "副うた", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "厭うた", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "のたもうた", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} + ] + }, + { + "name": "polite", + "rules": [ + {"suffixIn": "ます", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "います", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きます", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎます", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "します", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちます", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にます", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びます", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みます", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ります", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じます", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "します", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ます", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きます", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ます", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ます", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "polite negative", + "rules": [ + {"suffixIn": "くありません", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ません", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いません", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きません", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎません", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しません", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちません", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にません", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びません", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みません", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りません", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じません", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しません", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ません", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きません", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ません", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ません", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "polite past", + "rules": [ + {"suffixIn": "ました", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いました", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きました", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎました", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しました", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちました", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にました", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びました", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みました", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りました", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じました", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しました", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ました", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きました", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ました", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ました", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "polite past negative", + "rules": [ + {"suffixIn": "くありませんでした", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ませんでした", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いませんでした", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きませんでした", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎませんでした", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しませんでした", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちませんでした", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にませんでした", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びませんでした", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みませんでした", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りませんでした", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じませんでした", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しませんでした", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ませんでした", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きませんでした", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ませんでした", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ませんでした", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "polite volitional", + "rules": [ + {"suffixIn": "ましょう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "いましょう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "きましょう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぎましょう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "しましょう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ちましょう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "にましょう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "びましょう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "みましょう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "りましょう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じましょう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しましょう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ましょう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "きましょう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ましょう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ましょう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "potential", + "rules": [ + {"suffixIn": "れる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1", "v5"]}, + {"suffixIn": "える", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ける", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "げる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "せる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "てる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ねる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "べる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "める", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "できる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "出来る", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "これる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "来れる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "來れる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "potential or passive", + "rules": [ + {"suffixIn": "られる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, + {"suffixIn": "ざれる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "ぜられる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, + {"suffixIn": "せられる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "為られる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, + {"suffixIn": "こられる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "来られる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, + {"suffixIn": "來られる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "volitional", + "rules": [ + {"suffixIn": "よう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "おう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "こう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ごう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "そう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "とう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "のう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぼう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "もう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ろう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "じよう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "しよう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為よう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こよう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来よう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來よう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "causative passive", + "rules": [ + {"suffixIn": "かされる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "がされる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "たされる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "なされる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "ばされる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "まされる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "らされる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, + {"suffixIn": "わされる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]} + ] + }, + { + "name": "-toku", + "rules": [ + {"suffixIn": "とく", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, + {"suffixIn": "いとく", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "いどく", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "しとく", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っとく", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っとく", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "っとく", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んどく", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んどく", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "んどく", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, + {"suffixIn": "じとく", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, + {"suffixIn": "しとく", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "為とく", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, + {"suffixIn": "きとく", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "来とく", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, + {"suffixIn": "來とく", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} + ] + }, + { + "name": "progressive or perfect", + "rules": [ + {"suffixIn": "ている", "suffixOut": "て", "conditionsIn": ["v1"], "conditionsOut": ["iru"]}, + {"suffixIn": "ておる", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, + {"suffixIn": "てる", "suffixOut": "て", "conditionsIn": ["v1p"], "conditionsOut": ["iru"]}, + {"suffixIn": "でいる", "suffixOut": "で", "conditionsIn": ["v1"], "conditionsOut": ["iru"]}, + {"suffixIn": "でおる", "suffixOut": "で", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, + {"suffixIn": "でる", "suffixOut": "で", "conditionsIn": ["v1p"], "conditionsOut": ["iru"]}, + {"suffixIn": "とる", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, + {"suffixIn": "ないでいる", "suffixOut": "ない", "conditionsIn": ["v1"], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "-ki", + "rules": [ + {"suffixIn": "き", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "-ge", + "rules": [ + {"suffixIn": "しげ", "suffixOut": "しい", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "-e", + "rules": [ + {"suffixIn": "ねえ", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めえ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "みい", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ちぇえ", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ちい", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せえ", "suffixOut": "すい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ええ", "suffixOut": "いい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ええ", "suffixOut": "わい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ええ", "suffixOut": "よい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "いぇえ", "suffixOut": "よい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "うぇえ", "suffixOut": "わい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "けえ", "suffixOut": "かい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げえ", "suffixOut": "がい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げえ", "suffixOut": "ごい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せえ", "suffixOut": "さい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めえ", "suffixOut": "まい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ぜえ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "っぜえ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れえ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れえ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ちぇえ", "suffixOut": "ちゃい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "でえ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れえ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "べえ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てえ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ねぇ", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めぇ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "みぃ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ちぃ", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せぇ", "suffixOut": "すい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "けぇ", "suffixOut": "かい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げぇ", "suffixOut": "がい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げぇ", "suffixOut": "ごい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せぇ", "suffixOut": "さい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めぇ", "suffixOut": "まい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "っぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れぇ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "でぇ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れぇ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "べぇ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てぇ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "slang", + "rules": [ + {"suffixIn": "てぇてぇ", "suffixOut": "とうとい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てぇてぇ", "suffixOut": "尊い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "おなしゃす", "suffixOut": "おねがいします", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "おなしゃす", "suffixOut": "お願いします", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "あざす", "suffixOut": "ありがとうございます", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さーせん", "suffixOut": "すみません", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "神ってる", "suffixOut": "神がかっている", "conditionsIn": [], "conditionsOut": ["v1p"]}, + {"suffixIn": "じわる", "suffixOut": "じわじわ来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "おさしみ", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おやさい", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb verb negative", + "rules": [ + {"suffixIn": "へん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ひん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "へんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ひんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb -u", + "rules": [ + {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb adj -te", + "rules": [ + {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうて", "suffixOut": "かくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうて", "suffixOut": "がくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうて", "suffixOut": "さくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうて", "suffixOut": "たくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうて", "suffixOut": "なくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうて", "suffixOut": "ばくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうて", "suffixOut": "まくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうて", "suffixOut": "らくて", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb adj negative", + "rules": [ + {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "こうない", "suffixOut": "かくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ごうない", "suffixOut": "がくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "そうない", "suffixOut": "さくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "とうない", "suffixOut": "たくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "のうない", "suffixOut": "なくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ぼうない", "suffixOut": "ばくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "もうない", "suffixOut": "まくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ろうない", "suffixOut": "らくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "しゅうない", "suffixOut": "しくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "ksb verb -te", + "rules": [ + {"suffixIn": "うて", "suffixOut": "って", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おうて", "suffixOut": "あって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうて", "suffixOut": "かって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうて", "suffixOut": "がって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうて", "suffixOut": "さって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぞうて", "suffixOut": "ざって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうて", "suffixOut": "たって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "どうて", "suffixOut": "だって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうて", "suffixOut": "なって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ほうて", "suffixOut": "はって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうて", "suffixOut": "ばって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうて", "suffixOut": "まって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうて", "suffixOut": "らって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "しゅうて", "suffixOut": "しくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ゆうて", "suffixOut": "いって", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb past", + "rules": [ + {"suffixIn": "うた", "suffixOut": "った", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おうた", "suffixOut": "あった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうた", "suffixOut": "かった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうた", "suffixOut": "がった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうた", "suffixOut": "さった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぞうた", "suffixOut": "ざった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうた", "suffixOut": "たった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "どうた", "suffixOut": "だった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうた", "suffixOut": "なった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ほうた", "suffixOut": "はった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうた", "suffixOut": "ばった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうた", "suffixOut": "まった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうた", "suffixOut": "らった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ゆうた", "suffixOut": "いった", "conditionsIn": [], "conditionsOut": []} + ] + } ] } + From f0a8dd54374060e58b7397d9eea883b197ef33d1 Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 2 Feb 2024 12:55:30 +0700 Subject: [PATCH 09/17] move deinflect.json to japanese-transforms.json --- ext/data/deinflect.json | 1031 -------------------- ext/data/language/japanese-transforms.json | 184 +++- 2 files changed, 182 insertions(+), 1033 deletions(-) delete mode 100644 ext/data/deinflect.json diff --git a/ext/data/deinflect.json b/ext/data/deinflect.json deleted file mode 100644 index a8b75663e2..0000000000 --- a/ext/data/deinflect.json +++ /dev/null @@ -1,1031 +0,0 @@ -{ - "language": "ja", - "conditions": { - "v1": { - "name": "Ichidan verb", - "partsOfSpeech": ["v1"], - "i18n": [ - { - "language": "ja", - "name": "一段動詞" - } - ], - "subConditions": ["v1d", "v1p"] - }, - "v1d": { - "name": "Ichidan verb, dictionary form", - "partsOfSpeech": ["v1"], - "i18n": [ - { - "language": "ja", - "name": "一段動詞、辞書形" - } - ] - }, - "v1p": { - "name": "Ichidan verb, progressive or perfect form", - "partsOfSpeech": ["v1"], - "i18n": [ - { - "language": "ja", - "name": "一段動詞、進行形または完了形" - } - ] - }, - "v5": { - "name": "Godan verb", - "partsOfSpeech": ["v5"], - "i18n": [ - { - "language": "ja", - "name": "五段動詞" - } - ] - }, - "vk": { - "name": "Kuru verb", - "partsOfSpeech": ["vk"], - "i18n": [ - { - "language": "ja", - "name": "来る動詞" - } - ] - }, - "vs": { - "name": "Suru verb", - "partsOfSpeech": ["vs"], - "i18n": [ - { - "language": "ja", - "name": "する動詞" - } - ] - }, - "vz": { - "name": "Zuru verb", - "partsOfSpeech": ["vz"], - "i18n": [ - { - "language": "ja", - "name": "ずる動詞" - } - ] - }, - "adj-i": { - "name": "Adjective with i ending", - "partsOfSpeech": ["adj-i"], - "i18n": [ - { - "language": "ja", - "name": "形容詞" - } - ] - }, - "iru": { - "name": "Intermediate -iru endings for progressive or perfect tense", - "partsOfSpeech": [] - } - }, - "transforms": [ - { - "name": "-ba", - "description": "Conditional", - "i18n": [ - { - "language": "ja", - "name": "ば", - "description": "仮定形" - } - ], - "rules": [ - {"suffixIn": "ければ", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "えば", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "けば", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "げば", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "せば", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "てば", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ねば", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "べば", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "めば", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "れば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1", "v5", "vk", "vs", "vz"]} - ] - }, - { - "name": "-chau", - "rules": [ - {"suffixIn": "ちゃう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, - {"suffixIn": "いじゃう", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "いちゃう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "しちゃう", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちゃう", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちゃう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちゃう", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちゃう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじゃう", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじゃう", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじゃう", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "じちゃう", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, - {"suffixIn": "しちゃう", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "為ちゃう", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "きちゃう", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "来ちゃう", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "來ちゃう", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-chimau", - "rules": [ - {"suffixIn": "ちまう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, - {"suffixIn": "いじまう", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "いちまう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "しちまう", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちまう", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちまう", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちまう", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っちまう", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじまう", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじまう", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んじまう", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "じちまう", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, - {"suffixIn": "しちまう", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "為ちまう", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "きちまう", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "来ちまう", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "來ちまう", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-shimau", - "rules": [ - {"suffixIn": "てしまう", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, - {"suffixIn": "でしまう", "suffixOut": "で", "conditionsIn": ["v5"], "conditionsOut": ["iru"]} - ] - }, - { - "name": "-nasai", - "rules": [ - {"suffixIn": "なさい", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いなさい", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きなさい", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎなさい", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しなさい", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちなさい", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "になさい", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びなさい", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みなさい", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りなさい", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じなさい", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しなさい", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為なさい", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きなさい", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来なさい", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來なさい", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-sou", - "rules": [ - {"suffixIn": "そう", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "そう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いそう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きそう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎそう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しそう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちそう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にそう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びそう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みそう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りそう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じそう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しそう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為そう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きそう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来そう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來そう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-sugiru", - "rules": [ - {"suffixIn": "すぎる", "suffixOut": "い", "conditionsIn": ["v1"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "すぎる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, - {"suffixIn": "いすぎる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "きすぎる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎすぎる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "しすぎる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ちすぎる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "にすぎる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "びすぎる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "みすぎる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "りすぎる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "じすぎる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "しすぎる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "為すぎる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "きすぎる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "来すぎる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "來すぎる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-tai", - "rules": [ - {"suffixIn": "たい", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v1"]}, - {"suffixIn": "いたい", "suffixOut": "う", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "きたい", "suffixOut": "く", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎたい", "suffixOut": "ぐ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "したい", "suffixOut": "す", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "ちたい", "suffixOut": "つ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "にたい", "suffixOut": "ぬ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "びたい", "suffixOut": "ぶ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "みたい", "suffixOut": "む", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "りたい", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "じたい", "suffixOut": "ずる", "conditionsIn": ["adj-i"], "conditionsOut": ["vz"]}, - {"suffixIn": "したい", "suffixOut": "する", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, - {"suffixIn": "為たい", "suffixOut": "為る", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, - {"suffixIn": "きたい", "suffixOut": "くる", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, - {"suffixIn": "来たい", "suffixOut": "来る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, - {"suffixIn": "來たい", "suffixOut": "來る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-tara", - "rules": [ - {"suffixIn": "かったら", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "たら", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いたら", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "いだら", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "したら", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったら", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったら", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったら", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだら", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだら", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだら", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じたら", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "したら", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為たら", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きたら", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来たら", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來たら", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "いったら", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "おうたら", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "こうたら", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "そうたら", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "とうたら", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "行ったら", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "逝ったら", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "往ったら", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "請うたら", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "乞うたら", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "恋うたら", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "問うたら", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "負うたら", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "沿うたら", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "添うたら", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "副うたら", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "厭うたら", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "のたもうたら", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} - ] - }, - { - "name": "-tari", - "rules": [ - {"suffixIn": "かったり", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "たり", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いたり", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "いだり", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "したり", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったり", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったり", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ったり", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだり", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだり", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだり", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じたり", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "したり", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為たり", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きたり", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来たり", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來たり", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "いったり", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "おうたり", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "こうたり", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "そうたり", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "とうたり", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "行ったり", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "逝ったり", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "往ったり", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "請うたり", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "乞うたり", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "恋うたり", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "問うたり", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "負うたり", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "沿うたり", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "添うたり", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "副うたり", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "厭うたり", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "のたもうたり", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} - ] - }, - { - "name": "-te", - "rules": [ - {"suffixIn": "くて", "suffixOut": "い", "conditionsIn": ["iru"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "て", "suffixOut": "る", "conditionsIn": ["iru"], "conditionsOut": ["v1"]}, - {"suffixIn": "いて", "suffixOut": "く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "いで", "suffixOut": "ぐ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "して", "suffixOut": "す", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "って", "suffixOut": "う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "って", "suffixOut": "つ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "って", "suffixOut": "る", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "んで", "suffixOut": "ぬ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "んで", "suffixOut": "ぶ", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "んで", "suffixOut": "む", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "じて", "suffixOut": "ずる", "conditionsIn": ["iru"], "conditionsOut": ["vz"]}, - {"suffixIn": "して", "suffixOut": "する", "conditionsIn": ["iru"], "conditionsOut": ["vs"]}, - {"suffixIn": "為て", "suffixOut": "為る", "conditionsIn": ["iru"], "conditionsOut": ["vs"]}, - {"suffixIn": "きて", "suffixOut": "くる", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, - {"suffixIn": "来て", "suffixOut": "来る", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, - {"suffixIn": "來て", "suffixOut": "來る", "conditionsIn": ["iru"], "conditionsOut": ["vk"]}, - {"suffixIn": "いって", "suffixOut": "いく", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "おうて", "suffixOut": "おう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "こうて", "suffixOut": "こう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "そうて", "suffixOut": "そう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "とうて", "suffixOut": "とう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "行って", "suffixOut": "行く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "逝って", "suffixOut": "逝く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "往って", "suffixOut": "往く", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "請うて", "suffixOut": "請う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "乞うて", "suffixOut": "乞う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "恋うて", "suffixOut": "恋う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "問うて", "suffixOut": "問う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "負うて", "suffixOut": "負う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "沿うて", "suffixOut": "沿う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "添うて", "suffixOut": "添う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "副うて", "suffixOut": "副う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "厭うて", "suffixOut": "厭う", "conditionsIn": ["iru"], "conditionsOut": ["v5"]}, - {"suffixIn": "のたもうて", "suffixOut": "のたまう", "conditionsIn": ["iru"], "conditionsOut": ["v5"]} - ] - }, - { - "name": "-zu", - "rules": [ - {"suffixIn": "ず", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "かず", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "がず", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さず", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "たず", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "なず", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ばず", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "まず", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "らず", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "わず", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぜず", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "せず", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ず", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こず", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ず", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ず", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-nu", - "rules": [ - {"suffixIn": "ぬ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "かぬ", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "がぬ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さぬ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "たぬ", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "なぬ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ばぬ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "まぬ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "らぬ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "わぬ", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぜぬ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "せぬ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ぬ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こぬ", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ぬ", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ぬ", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-mu", - "rules": [ - {"suffixIn": "む", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "かむ", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "がむ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さむ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "たむ", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "なむ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ばむ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "まむ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "らむ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "わむ", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぜむ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "せむ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為む", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こむ", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来む", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來む", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-zaru", - "rules": [ - {"suffixIn": "ざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "かざる", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "がざる", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さざる", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "たざる", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "なざる", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ばざる", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "まざる", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "らざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "わざる", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぜざる", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "せざる", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ざる", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こざる", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ざる", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ざる", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "-neba", - "rules": [ - {"suffixIn": "ねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "かねば", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "がねば", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さねば", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "たねば", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "なねば", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ばねば", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "まねば", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "らねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "わねば", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぜねば", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "せねば", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ねば", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こねば", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ねば", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ねば", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "adv", - "rules": [ - {"suffixIn": "く", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "causative", - "rules": [ - {"suffixIn": "させる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, - {"suffixIn": "かせる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "がせる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "させる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "たせる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "なせる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ばせる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ませる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "らせる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "わせる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "じさせる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "ぜさせる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "させる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "為せる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "せさせる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "為させる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "こさせる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "来させる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "來させる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "imperative", - "rules": [ - {"suffixIn": "ろ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "よ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "え", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "け", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "げ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "せ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "て", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ね", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "べ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "め", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "れ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じろ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "ぜよ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しろ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "せよ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ろ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為よ", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こい", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来い", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來い", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "imperative negative", - "rules": [ - {"suffixIn": "な", "suffixOut": "", "conditionsIn": [], "conditionsOut": ["v1", "v5", "vk", "vs", "vz"]} - ] - }, - { - "name": "masu stem", - "rules": [ - {"suffixIn": "い", "suffixOut": "いる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "え", "suffixOut": "える", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "き", "suffixOut": "きる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "ぎ", "suffixOut": "ぎる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "け", "suffixOut": "ける", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "げ", "suffixOut": "げる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "じ", "suffixOut": "じる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "せ", "suffixOut": "せる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "ぜ", "suffixOut": "ぜる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "ち", "suffixOut": "ちる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "て", "suffixOut": "てる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "で", "suffixOut": "でる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "に", "suffixOut": "にる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "ね", "suffixOut": "ねる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "ひ", "suffixOut": "ひる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "び", "suffixOut": "びる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "へ", "suffixOut": "へる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "べ", "suffixOut": "べる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "み", "suffixOut": "みる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "め", "suffixOut": "める", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "り", "suffixOut": "りる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "れ", "suffixOut": "れる", "conditionsIn": [], "conditionsOut": ["v1d"]}, - {"suffixIn": "い", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "き", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "し", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ち", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "に", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "び", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "み", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "り", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "き", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "negative", - "rules": [ - {"suffixIn": "くない", "suffixOut": "い", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ない", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v1"]}, - {"suffixIn": "かない", "suffixOut": "く", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "がない", "suffixOut": "ぐ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "さない", "suffixOut": "す", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "たない", "suffixOut": "つ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "なない", "suffixOut": "ぬ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "ばない", "suffixOut": "ぶ", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "まない", "suffixOut": "む", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "らない", "suffixOut": "る", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "わない", "suffixOut": "う", "conditionsIn": ["adj-i"], "conditionsOut": ["v5"]}, - {"suffixIn": "じない", "suffixOut": "ずる", "conditionsIn": ["adj-i"], "conditionsOut": ["vz"]}, - {"suffixIn": "しない", "suffixOut": "する", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, - {"suffixIn": "為ない", "suffixOut": "為る", "conditionsIn": ["adj-i"], "conditionsOut": ["vs"]}, - {"suffixIn": "こない", "suffixOut": "くる", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, - {"suffixIn": "来ない", "suffixOut": "来る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, - {"suffixIn": "來ない", "suffixOut": "來る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "noun", - "rules": [ - {"suffixIn": "さ", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "passive", - "rules": [ - {"suffixIn": "かれる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "がれる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "される", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "たれる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "なれる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ばれる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "まれる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "われる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "られる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "じされる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "ぜされる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "される", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "為れる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "こられる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "来られる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "來られる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "past", - "rules": [ - {"suffixIn": "かった", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "た", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いた", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "いだ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "した", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "った", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "った", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "った", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "んだ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じた", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "した", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為た", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きた", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来た", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來た", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "いった", "suffixOut": "いく", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "おうた", "suffixOut": "おう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "こうた", "suffixOut": "こう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "そうた", "suffixOut": "そう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "とうた", "suffixOut": "とう", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "行った", "suffixOut": "行く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "逝った", "suffixOut": "逝く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "往った", "suffixOut": "往く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "請うた", "suffixOut": "請う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "乞うた", "suffixOut": "乞う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "恋うた", "suffixOut": "恋う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "問うた", "suffixOut": "問う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "負うた", "suffixOut": "負う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "沿うた", "suffixOut": "沿う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "添うた", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "副うた", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "厭うた", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "のたもうた", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} - ] - }, - { - "name": "polite", - "rules": [ - {"suffixIn": "ます", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "います", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きます", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎます", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "します", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちます", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にます", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びます", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みます", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ります", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じます", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "します", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ます", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きます", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ます", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ます", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "polite negative", - "rules": [ - {"suffixIn": "くありません", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ません", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いません", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きません", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎません", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しません", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちません", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にません", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びません", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みません", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りません", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じません", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しません", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ません", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きません", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ません", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ません", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "polite past", - "rules": [ - {"suffixIn": "ました", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いました", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きました", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎました", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しました", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちました", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にました", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びました", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みました", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りました", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じました", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しました", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ました", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きました", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ました", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ました", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "polite past negative", - "rules": [ - {"suffixIn": "くありませんでした", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ませんでした", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いませんでした", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きませんでした", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎませんでした", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しませんでした", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちませんでした", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にませんでした", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びませんでした", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みませんでした", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りませんでした", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じませんでした", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しませんでした", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ませんでした", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きませんでした", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ませんでした", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ませんでした", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "polite volitional", - "rules": [ - {"suffixIn": "ましょう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "いましょう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "きましょう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぎましょう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "しましょう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ちましょう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "にましょう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "びましょう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "みましょう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "りましょう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じましょう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しましょう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為ましょう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "きましょう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来ましょう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ましょう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "potential", - "rules": [ - {"suffixIn": "れる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1", "v5"]}, - {"suffixIn": "える", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ける", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "げる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "せる", "suffixOut": "す", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "てる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ねる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "べる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "める", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "できる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "出来る", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "これる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "来れる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "來れる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "potential or passive", - "rules": [ - {"suffixIn": "られる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v1"]}, - {"suffixIn": "ざれる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "ぜられる", "suffixOut": "ずる", "conditionsIn": ["v1"], "conditionsOut": ["vz"]}, - {"suffixIn": "せられる", "suffixOut": "する", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "為られる", "suffixOut": "為る", "conditionsIn": ["v1"], "conditionsOut": ["vs"]}, - {"suffixIn": "こられる", "suffixOut": "くる", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "来られる", "suffixOut": "来る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]}, - {"suffixIn": "來られる", "suffixOut": "來る", "conditionsIn": ["v1"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "volitional", - "rules": [ - {"suffixIn": "よう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, - {"suffixIn": "おう", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "こう", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ごう", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "そう", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "とう", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "のう", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ぼう", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "もう", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "ろう", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "じよう", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, - {"suffixIn": "しよう", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "為よう", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, - {"suffixIn": "こよう", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "来よう", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來よう", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} - ] - }, - { - "name": "causative passive", - "rules": [ - {"suffixIn": "かされる", "suffixOut": "く", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "がされる", "suffixOut": "ぐ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "たされる", "suffixOut": "つ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "なされる", "suffixOut": "ぬ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "ばされる", "suffixOut": "ぶ", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "まされる", "suffixOut": "む", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "らされる", "suffixOut": "る", "conditionsIn": ["v1"], "conditionsOut": ["v5"]}, - {"suffixIn": "わされる", "suffixOut": "う", "conditionsIn": ["v1"], "conditionsOut": ["v5"]} - ] - }, - { - "name": "-toku", - "rules": [ - {"suffixIn": "とく", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v1"]}, - {"suffixIn": "いとく", "suffixOut": "く", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "いどく", "suffixOut": "ぐ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "しとく", "suffixOut": "す", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っとく", "suffixOut": "う", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っとく", "suffixOut": "つ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "っとく", "suffixOut": "る", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んどく", "suffixOut": "ぬ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んどく", "suffixOut": "ぶ", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "んどく", "suffixOut": "む", "conditionsIn": ["v5"], "conditionsOut": ["v5"]}, - {"suffixIn": "じとく", "suffixOut": "ずる", "conditionsIn": ["v5"], "conditionsOut": ["vz"]}, - {"suffixIn": "しとく", "suffixOut": "する", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "為とく", "suffixOut": "為る", "conditionsIn": ["v5"], "conditionsOut": ["vs"]}, - {"suffixIn": "きとく", "suffixOut": "くる", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "来とく", "suffixOut": "来る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]}, - {"suffixIn": "來とく", "suffixOut": "來る", "conditionsIn": ["v5"], "conditionsOut": ["vk"]} - ] - }, - { - "name": "progressive or perfect", - "rules": [ - {"suffixIn": "ている", "suffixOut": "て", "conditionsIn": ["v1"], "conditionsOut": ["iru"]}, - {"suffixIn": "ておる", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, - {"suffixIn": "てる", "suffixOut": "て", "conditionsIn": ["v1p"], "conditionsOut": ["iru"]}, - {"suffixIn": "でいる", "suffixOut": "で", "conditionsIn": ["v1"], "conditionsOut": ["iru"]}, - {"suffixIn": "でおる", "suffixOut": "で", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, - {"suffixIn": "でる", "suffixOut": "で", "conditionsIn": ["v1p"], "conditionsOut": ["iru"]}, - {"suffixIn": "とる", "suffixOut": "て", "conditionsIn": ["v5"], "conditionsOut": ["iru"]}, - {"suffixIn": "ないでいる", "suffixOut": "ない", "conditionsIn": ["v1"], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "-ki", - "rules": [ - {"suffixIn": "き", "suffixOut": "い", "conditionsIn": [], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "-ge", - "rules": [ - {"suffixIn": "しげ", "suffixOut": "しい", "conditionsIn": [], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "-e", - "rules": [ - {"suffixIn": "ねえ", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "めえ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "みい", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ちぇえ", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ちい", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "せえ", "suffixOut": "すい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ええ", "suffixOut": "いい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ええ", "suffixOut": "わい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ええ", "suffixOut": "よい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "いぇえ", "suffixOut": "よい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "うぇえ", "suffixOut": "わい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "けえ", "suffixOut": "かい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "げえ", "suffixOut": "がい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "げえ", "suffixOut": "ごい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "せえ", "suffixOut": "さい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "めえ", "suffixOut": "まい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ぜえ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "っぜえ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "れえ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "れえ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ちぇえ", "suffixOut": "ちゃい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "でえ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "れえ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "べえ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "てえ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ねぇ", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "めぇ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "みぃ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ちぃ", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "せぇ", "suffixOut": "すい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "けぇ", "suffixOut": "かい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "げぇ", "suffixOut": "がい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "げぇ", "suffixOut": "ごい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "せぇ", "suffixOut": "さい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "めぇ", "suffixOut": "まい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "っぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "れぇ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "でぇ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "れぇ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "べぇ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "てぇ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "slang", - "rules": [ - {"suffixIn": "てぇてぇ", "suffixOut": "とうとい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "てぇてぇ", "suffixOut": "尊い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "おなしゃす", "suffixOut": "おねがいします", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "おなしゃす", "suffixOut": "お願いします", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "あざす", "suffixOut": "ありがとうございます", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "さーせん", "suffixOut": "すみません", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "神ってる", "suffixOut": "神がかっている", "conditionsIn": [], "conditionsOut": ["v1p"]}, - {"suffixIn": "じわる", "suffixOut": "じわじわ来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "おさしみ", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "おやさい", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []} - ] - }, - { - "name": "ksb verb negative", - "rules": [ - {"suffixIn": "へん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ひん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "へんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ひんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []} - ] - }, - { - "name": "ksb -u", - "rules": [ - {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []} - ] - }, - { - "name": "ksb adj -te", - "rules": [ - {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "こうて", "suffixOut": "かくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ごうて", "suffixOut": "がくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "そうて", "suffixOut": "さくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "とうて", "suffixOut": "たくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "のうて", "suffixOut": "なくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ぼうて", "suffixOut": "ばくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "もうて", "suffixOut": "まくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ろうて", "suffixOut": "らくて", "conditionsIn": [], "conditionsOut": []} - ] - }, - { - "name": "ksb adj negative", - "rules": [ - {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "こうない", "suffixOut": "かくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ごうない", "suffixOut": "がくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "そうない", "suffixOut": "さくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "とうない", "suffixOut": "たくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "のうない", "suffixOut": "なくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ぼうない", "suffixOut": "ばくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "もうない", "suffixOut": "まくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "ろうない", "suffixOut": "らくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "しゅうない", "suffixOut": "しくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]} - ] - }, - { - "name": "ksb verb -te", - "rules": [ - {"suffixIn": "うて", "suffixOut": "って", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "おうて", "suffixOut": "あって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "こうて", "suffixOut": "かって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ごうて", "suffixOut": "がって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "そうて", "suffixOut": "さって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ぞうて", "suffixOut": "ざって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "とうて", "suffixOut": "たって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "どうて", "suffixOut": "だって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "のうて", "suffixOut": "なって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ほうて", "suffixOut": "はって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ぼうて", "suffixOut": "ばって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "もうて", "suffixOut": "まって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ろうて", "suffixOut": "らって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "しゅうて", "suffixOut": "しくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ゆうて", "suffixOut": "いって", "conditionsIn": [], "conditionsOut": []} - ] - }, - { - "name": "ksb past", - "rules": [ - {"suffixIn": "うた", "suffixOut": "った", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "おうた", "suffixOut": "あった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "こうた", "suffixOut": "かった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ごうた", "suffixOut": "がった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "そうた", "suffixOut": "さった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ぞうた", "suffixOut": "ざった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "とうた", "suffixOut": "たった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "どうた", "suffixOut": "だった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "のうた", "suffixOut": "なった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ほうた", "suffixOut": "はった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ぼうた", "suffixOut": "ばった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "もうた", "suffixOut": "まった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ろうた", "suffixOut": "らった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ゆうた", "suffixOut": "いった", "conditionsIn": [], "conditionsOut": []} - ] - } - ] -} - diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index 007b140422..a8b75663e2 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -410,6 +410,69 @@ {"suffixIn": "來ぬ", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} ] }, + { + "name": "-mu", + "rules": [ + {"suffixIn": "む", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かむ", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がむ", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さむ", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たむ", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なむ", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばむ", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まむ", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らむ", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わむ", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜむ", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せむ", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為む", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こむ", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来む", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來む", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-zaru", + "rules": [ + {"suffixIn": "ざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かざる", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がざる", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さざる", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たざる", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なざる", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばざる", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まざる", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らざる", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わざる", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜざる", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せざる", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ざる", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こざる", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ざる", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ざる", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, + { + "name": "-neba", + "rules": [ + {"suffixIn": "ねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v1"]}, + {"suffixIn": "かねば", "suffixOut": "く", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "がねば", "suffixOut": "ぐ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さねば", "suffixOut": "す", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "たねば", "suffixOut": "つ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "なねば", "suffixOut": "ぬ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ばねば", "suffixOut": "ぶ", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "まねば", "suffixOut": "む", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "らねば", "suffixOut": "る", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "わねば", "suffixOut": "う", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ぜねば", "suffixOut": "ずる", "conditionsIn": [], "conditionsOut": ["vz"]}, + {"suffixIn": "せねば", "suffixOut": "する", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "為ねば", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, + {"suffixIn": "こねば", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "来ねば", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "來ねば", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + ] + }, { "name": "adv", "rules": [ @@ -844,8 +907,125 @@ {"suffixIn": "ちぇえ", "suffixOut": "ちゃい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, {"suffixIn": "でえ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, {"suffixIn": "れえ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, - {"suffixIn": "べえ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]} + {"suffixIn": "べえ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てえ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ねぇ", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めぇ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "みぃ", "suffixOut": "むい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ちぃ", "suffixOut": "つい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せぇ", "suffixOut": "すい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "けぇ", "suffixOut": "かい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げぇ", "suffixOut": "がい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "げぇ", "suffixOut": "ごい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せぇ", "suffixOut": "さい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "めぇ", "suffixOut": "まい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "っぜぇ", "suffixOut": "ずい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れぇ", "suffixOut": "らい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "でぇ", "suffixOut": "どい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "れぇ", "suffixOut": "れい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "べぇ", "suffixOut": "ばい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てぇ", "suffixOut": "たい", "conditionsIn": [], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "slang", + "rules": [ + {"suffixIn": "てぇてぇ", "suffixOut": "とうとい", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "てぇてぇ", "suffixOut": "尊い", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "おなしゃす", "suffixOut": "おねがいします", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "おなしゃす", "suffixOut": "お願いします", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "あざす", "suffixOut": "ありがとうございます", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "さーせん", "suffixOut": "すみません", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "神ってる", "suffixOut": "神がかっている", "conditionsIn": [], "conditionsOut": ["v1p"]}, + {"suffixIn": "じわる", "suffixOut": "じわじわ来る", "conditionsIn": [], "conditionsOut": ["vk"]}, + {"suffixIn": "おさしみ", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おやさい", "suffixOut": "おやすみ", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb verb negative", + "rules": [ + {"suffixIn": "へん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ひん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "へんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ひんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb -u", + "rules": [ + {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb adj -te", + "rules": [ + {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうて", "suffixOut": "かくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうて", "suffixOut": "がくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうて", "suffixOut": "さくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうて", "suffixOut": "たくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうて", "suffixOut": "なくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうて", "suffixOut": "ばくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうて", "suffixOut": "まくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうて", "suffixOut": "らくて", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb adj negative", + "rules": [ + {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "こうない", "suffixOut": "かくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ごうない", "suffixOut": "がくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "そうない", "suffixOut": "さくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "とうない", "suffixOut": "たくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "のうない", "suffixOut": "なくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ぼうない", "suffixOut": "ばくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "もうない", "suffixOut": "まくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ろうない", "suffixOut": "らくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "しゅうない", "suffixOut": "しくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]} + ] + }, + { + "name": "ksb verb -te", + "rules": [ + {"suffixIn": "うて", "suffixOut": "って", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おうて", "suffixOut": "あって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうて", "suffixOut": "かって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうて", "suffixOut": "がって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうて", "suffixOut": "さって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぞうて", "suffixOut": "ざって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうて", "suffixOut": "たって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "どうて", "suffixOut": "だって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうて", "suffixOut": "なって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ほうて", "suffixOut": "はって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうて", "suffixOut": "ばって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうて", "suffixOut": "まって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうて", "suffixOut": "らって", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "しゅうて", "suffixOut": "しくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ゆうて", "suffixOut": "いって", "conditionsIn": [], "conditionsOut": []} + ] + }, + { + "name": "ksb past", + "rules": [ + {"suffixIn": "うた", "suffixOut": "った", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おうた", "suffixOut": "あった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうた", "suffixOut": "かった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうた", "suffixOut": "がった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうた", "suffixOut": "さった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぞうた", "suffixOut": "ざった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうた", "suffixOut": "たった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "どうた", "suffixOut": "だった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうた", "suffixOut": "なった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ほうた", "suffixOut": "はった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうた", "suffixOut": "ばった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうた", "suffixOut": "まった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうた", "suffixOut": "らった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ゆうた", "suffixOut": "いった", "conditionsIn": [], "conditionsOut": []} ] } ] -} \ No newline at end of file +} + From 4294fb1babe166a5c8e0296cedfe04bfeb809536 Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 2 Feb 2024 12:58:08 +0700 Subject: [PATCH 10/17] remove trailing spaces --- ext/data/language/japanese-transforms.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index a8b75663e2..b3f0481493 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -449,7 +449,7 @@ {"suffixIn": "為ざる", "suffixOut": "為る", "conditionsIn": [], "conditionsOut": ["vs"]}, {"suffixIn": "こざる", "suffixOut": "くる", "conditionsIn": [], "conditionsOut": ["vk"]}, {"suffixIn": "来ざる", "suffixOut": "来る", "conditionsIn": [], "conditionsOut": ["vk"]}, - {"suffixIn": "來ざる", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} + {"suffixIn": "來ざる", "suffixOut": "來る", "conditionsIn": [], "conditionsOut": ["vk"]} ] }, { @@ -964,7 +964,7 @@ {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "こうて", "suffixOut": "かくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ごうて", "suffixOut": "がくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "そうて", "suffixOut": "さくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうて", "suffixOut": "さくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "とうて", "suffixOut": "たくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "のうて", "suffixOut": "なくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ぼうて", "suffixOut": "ばくて", "conditionsIn": [], "conditionsOut": []}, @@ -978,7 +978,7 @@ {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "こうない", "suffixOut": "かくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "ごうない", "suffixOut": "がくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, - {"suffixIn": "そうない", "suffixOut": "さくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "そうない", "suffixOut": "さくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "とうない", "suffixOut": "たくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "のうない", "suffixOut": "なくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "ぼうない", "suffixOut": "ばくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, From 48bb95a450903dcc79724443d15fb68b42c932d9 Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 2 Feb 2024 13:58:01 +0700 Subject: [PATCH 11/17] wip add tests --- test/language-transformer.test.js | 64 ++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/test/language-transformer.test.js b/test/language-transformer.test.js index b99c1befcd..d4637cce4e 100644 --- a/test/language-transformer.test.js +++ b/test/language-transformer.test.js @@ -122,6 +122,8 @@ function testDeinflections() { {term: '食べる', source: '食べたり', rule: 'v1', reasons: ['-tari']}, {term: '食べる', source: '食べず', rule: 'v1', reasons: ['-zu']}, {term: '食べる', source: '食べぬ', rule: 'v1', reasons: ['-nu']}, + {term: '食べる', source: '食べざる', rule: 'v1', reasons: ['-zaru']}, + {term: '食べる', source: '食べねば', rule: 'v1', reasons: ['-neba']}, {term: '食べる', source: '食べ', rule: 'v1d', reasons: ['masu stem']}, {term: '食べる', source: '食べましょう', rule: 'v1', reasons: ['polite volitional']}, {term: '食べる', source: '食べよう', rule: 'v1', reasons: ['volitional']}, @@ -170,6 +172,8 @@ function testDeinflections() { {term: '買う', source: '買ったり', rule: 'v5', reasons: ['-tari']}, {term: '買う', source: '買わず', rule: 'v5', reasons: ['-zu']}, {term: '買う', source: '買わぬ', rule: 'v5', reasons: ['-nu']}, + {term: '買う', source: '買わざる', rule: 'v5', reasons: ['-zaru']}, + {term: '買う', source: '買わねば', rule: 'v5', reasons: ['-neba']}, {term: '買う', source: '買い', rule: 'v5', reasons: ['masu stem']}, {term: '買う', source: '買いましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '買う', source: '買おう', rule: 'v5', reasons: ['volitional']}, @@ -218,6 +222,8 @@ function testDeinflections() { {term: '行く', source: '行いたり', rule: 'v5', reasons: ['-tari']}, {term: '行く', source: '行かず', rule: 'v5', reasons: ['-zu']}, {term: '行く', source: '行かぬ', rule: 'v5', reasons: ['-nu']}, + {term: '行く', source: '行かざる', rule: 'v5', reasons: ['-zaru']}, + {term: '行く', source: '行かねば', rule: 'v5', reasons: ['-neba']}, {term: '行く', source: '行き', rule: 'v5', reasons: ['masu stem']}, {term: '行く', source: '行きましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '行く', source: '行こう', rule: 'v5', reasons: ['volitional']}, @@ -266,6 +272,8 @@ function testDeinflections() { {term: '泳ぐ', source: '泳いだり', rule: 'v5', reasons: ['-tari']}, {term: '泳ぐ', source: '泳がず', rule: 'v5', reasons: ['-zu']}, {term: '泳ぐ', source: '泳がぬ', rule: 'v5', reasons: ['-nu']}, + {term: '泳ぐ', source: '泳がざる', rule: 'v5', reasons: ['-zaru']}, + {term: '泳ぐ', source: '泳がねば', rule: 'v5', reasons: ['-neba']}, {term: '泳ぐ', source: '泳ぎ', rule: 'v5', reasons: ['masu stem']}, {term: '泳ぐ', source: '泳ぎましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '泳ぐ', source: '泳ごう', rule: 'v5', reasons: ['volitional']}, @@ -313,6 +321,8 @@ function testDeinflections() { {term: '話す', source: '話したり', rule: 'v5', reasons: ['-tari']}, {term: '話す', source: '話さず', rule: 'v5', reasons: ['-zu']}, {term: '話す', source: '話さぬ', rule: 'v5', reasons: ['-nu']}, + {term: '話す', source: '話さざる', rule: 'v5', reasons: ['-zaru']}, + {term: '話す', source: '話さねば', rule: 'v5', reasons: ['-neba']}, {term: '話す', source: '話し', rule: 'v5', reasons: ['masu stem']}, {term: '話す', source: '話しましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '話す', source: '話そう', rule: 'v5', reasons: ['volitional']}, @@ -361,6 +371,8 @@ function testDeinflections() { {term: '待つ', source: '待ったり', rule: 'v5', reasons: ['-tari']}, {term: '待つ', source: '待たず', rule: 'v5', reasons: ['-zu']}, {term: '待つ', source: '待たぬ', rule: 'v5', reasons: ['-nu']}, + {term: '待つ', source: '待たざる', rule: 'v5', reasons: ['-zaru']}, + {term: '待つ', source: '待たねば', rule: 'v5', reasons: ['-neba']}, {term: '待つ', source: '待ち', rule: 'v5', reasons: ['masu stem']}, {term: '待つ', source: '待ちましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '待つ', source: '待とう', rule: 'v5', reasons: ['volitional']}, @@ -409,6 +421,8 @@ function testDeinflections() { {term: '死ぬ', source: '死んだり', rule: 'v5', reasons: ['-tari']}, {term: '死ぬ', source: '死なず', rule: 'v5', reasons: ['-zu']}, {term: '死ぬ', source: '死なぬ', rule: 'v5', reasons: ['-nu']}, + {term: '死ぬ', source: '死なざる', rule: 'v5', reasons: ['-zaru']}, + {term: '死ぬ', source: '死なねば', rule: 'v5', reasons: ['-neba']}, {term: '死ぬ', source: '死に', rule: 'v5', reasons: ['masu stem']}, {term: '死ぬ', source: '死にましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '死ぬ', source: '死のう', rule: 'v5', reasons: ['volitional']}, @@ -456,6 +470,8 @@ function testDeinflections() { {term: '遊ぶ', source: '遊んだり', rule: 'v5', reasons: ['-tari']}, {term: '遊ぶ', source: '遊ばず', rule: 'v5', reasons: ['-zu']}, {term: '遊ぶ', source: '遊ばぬ', rule: 'v5', reasons: ['-nu']}, + {term: '遊ぶ', source: '遊ばざる', rule: 'v5', reasons: ['-zaru']}, + {term: '遊ぶ', source: '遊ばねば', rule: 'v5', reasons: ['-neba']}, {term: '遊ぶ', source: '遊び', rule: 'v5', reasons: ['masu stem']}, {term: '遊ぶ', source: '遊びましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '遊ぶ', source: '遊ぼう', rule: 'v5', reasons: ['volitional']}, @@ -503,6 +519,8 @@ function testDeinflections() { {term: '飲む', source: '飲んだり', rule: 'v5', reasons: ['-tari']}, {term: '飲む', source: '飲まず', rule: 'v5', reasons: ['-zu']}, {term: '飲む', source: '飲まぬ', rule: 'v5', reasons: ['-nu']}, + {term: '飲む', source: '飲まざる', rule: 'v5', reasons: ['-zaru']}, + {term: '飲む', source: '飲まねば', rule: 'v5', reasons: ['-neba']}, {term: '飲む', source: '飲み', rule: 'v5', reasons: ['masu stem']}, {term: '飲む', source: '飲みましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '飲む', source: '飲もう', rule: 'v5', reasons: ['volitional']}, @@ -550,6 +568,8 @@ function testDeinflections() { {term: '作る', source: '作ったり', rule: 'v5', reasons: ['-tari']}, {term: '作る', source: '作らず', rule: 'v5', reasons: ['-zu']}, {term: '作る', source: '作らぬ', rule: 'v5', reasons: ['-nu']}, + {term: '作る', source: '作らざる', rule: 'v5', reasons: ['-zaru']}, + {term: '作る', source: '作らねば', rule: 'v5', reasons: ['-neba']}, {term: '作る', source: '作り', rule: 'v5', reasons: ['masu stem']}, {term: '作る', source: '作りましょう', rule: 'v5', reasons: ['polite volitional']}, {term: '作る', source: '作ろう', rule: 'v5', reasons: ['volitional']}, @@ -602,6 +622,8 @@ function testDeinflections() { {term: '為る', source: '為たり', rule: 'vs', reasons: ['-tari']}, {term: '為る', source: '為ず', rule: 'vs', reasons: ['-zu']}, {term: '為る', source: '為ぬ', rule: 'vs', reasons: ['-nu']}, + {term: '為る', source: '為ざる', rule: 'vs', reasons: ['-zaru']}, + {term: '為る', source: '為ねば', rule: 'vs', reasons: ['-neba']}, // ['masu stem'] {term: '為る', source: '為ましょう', rule: 'vs', reasons: ['polite volitional']}, {term: '為る', source: '為よう', rule: 'vs', reasons: ['volitional']}, @@ -651,6 +673,8 @@ function testDeinflections() { {term: 'する', source: 'したり', rule: 'vs', reasons: ['-tari']}, {term: 'する', source: 'せず', rule: 'vs', reasons: ['-zu']}, {term: 'する', source: 'せぬ', rule: 'vs', reasons: ['-nu']}, + {term: 'する', source: 'せざる', rule: 'vs', reasons: ['-zaru']}, + {term: 'する', source: 'せねば', rule: 'vs', reasons: ['-neba']}, // ['masu stem'] {term: 'する', source: 'しましょう', rule: 'vs', reasons: ['polite volitional']}, {term: 'する', source: 'しよう', rule: 'vs', reasons: ['volitional']}, @@ -694,6 +718,8 @@ function testDeinflections() { {term: '来る', source: '来たり', rule: 'vk', reasons: ['-tari']}, {term: '来る', source: '来ず', rule: 'vk', reasons: ['-zu']}, {term: '来る', source: '来ぬ', rule: 'vk', reasons: ['-nu']}, + {term: '来る', source: '来ざる', rule: 'vk', reasons: ['-zaru']}, + {term: '来る', source: '来ねば', rule: 'vk', reasons: ['-neba']}, {term: '来る', source: '来', rule: 'vk', reasons: ['masu stem']}, {term: '来る', source: '来ましょう', rule: 'vk', reasons: ['polite volitional']}, {term: '来る', source: '来よう', rule: 'vk', reasons: ['volitional']}, @@ -737,6 +763,8 @@ function testDeinflections() { {term: '來る', source: '來たり', rule: 'vk', reasons: ['-tari']}, {term: '來る', source: '來ず', rule: 'vk', reasons: ['-zu']}, {term: '來る', source: '來ぬ', rule: 'vk', reasons: ['-nu']}, + {term: '來る', source: '來ざる', rule: 'vk', reasons: ['-zaru']}, + {term: '來る', source: '來ねば', rule: 'vk', reasons: ['-neba']}, {term: '來る', source: '來', rule: 'vk', reasons: ['masu stem']}, {term: '來る', source: '來ましょう', rule: 'vk', reasons: ['polite volitional']}, {term: '來る', source: '來よう', rule: 'vk', reasons: ['volitional']}, @@ -780,6 +808,8 @@ function testDeinflections() { {term: 'くる', source: 'きたり', rule: 'vk', reasons: ['-tari']}, {term: 'くる', source: 'こず', rule: 'vk', reasons: ['-zu']}, {term: 'くる', source: 'こぬ', rule: 'vk', reasons: ['-nu']}, + {term: 'くる', source: 'こざる', rule: 'vk', reasons: ['-zaru']}, + {term: 'くる', source: 'こねば', rule: 'vk', reasons: ['-neba']}, {term: 'くる', source: 'き', rule: 'vk', reasons: ['masu stem']}, {term: 'くる', source: 'きましょう', rule: 'vk', reasons: ['polite volitional']}, {term: 'くる', source: 'こよう', rule: 'vk', reasons: ['volitional']}, @@ -835,6 +865,8 @@ function testDeinflections() { {term: '論ずる', source: '論じたり', rule: 'vz', reasons: ['-tari']}, {term: '論ずる', source: '論ぜず', rule: 'vz', reasons: ['-zu']}, {term: '論ずる', source: '論ぜぬ', rule: 'vz', reasons: ['-nu']}, + {term: '論ずる', source: '論ぜざる', rule: 'vz', reasons: ['-zaru']}, + {term: '論ずる', source: '論ぜねば', rule: 'vz', reasons: ['-neba']}, // ['masu stem'] {term: '論ずる', source: '論じましょう', rule: 'vz', reasons: ['polite volitional']}, {term: '論ずる', source: '論じよう', rule: 'vz', reasons: ['volitional']}, @@ -876,7 +908,27 @@ function testDeinflections() { {term: 'ちっちゃい', source: 'ちっちぇえ', rule: 'adj-i', reasons: ['-e']}, {term: 'あかい', source: 'あけえ', rule: 'adj-i', reasons: ['-e']}, {term: 'こわい', source: 'こええ', rule: 'adj-i', reasons: ['-e']}, - {term: 'つよい', source: 'つええ', rule: 'adj-i', reasons: ['-e']} + {term: 'つよい', source: 'つええ', rule: 'adj-i', reasons: ['-e']}, + // small -e + {term: 'すごい', source: 'すげぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'やばい', source: 'やべぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'うるさい', source: 'うるせぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'ひどい', source: 'ひでぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'ない', source: 'ねぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'できる', source: 'できねぇ', rule: 'v1', reasons: ['negative', '-e']}, + {term: 'しんじる', source: 'しんじねぇ', rule: 'v1', reasons: ['negative', '-e']}, + {term: 'さむい', source: 'さめぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'さむい', source: 'さみぃ', rule: 'adj-i', reasons: ['-e']}, + {term: 'あつい', source: 'あちぃ', rule: 'adj-i', reasons: ['-e']}, + {term: 'やすい', source: 'やせぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'たかい', source: 'たけぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'みじかい', source: 'みじけぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'ながい', source: 'なげぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'くさい', source: 'くせぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'うまい', source: 'うめぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'でかい', source: 'でけぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'まずい', source: 'まっぜぇ', rule: 'adj-i', reasons: ['-e']}, + {term: 'あかい', source: 'あけぇ', rule: 'adj-i', reasons: ['-e']} ] }, { @@ -1010,6 +1062,14 @@ function testDeinflections() { tests: [ {term: '食べる', source: '食べて', rule: null, reasons: ['-te', 'progressive or perfect', 'masu stem']} ] + }, + { + category: 'kansaiben', + valid: true, + tests: [ + {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'ksb verb negative']}, + {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'ksb verb negative']} + ] } ]; /* eslint-enable no-multi-spaces */ @@ -1025,7 +1085,7 @@ function testDeinflections() { for (const {source, term, rule, reasons} of tests) { const {has} = hasTermReasons(languageTransformer, source, term, rule, reasons); let message = `${source} ${valid ? 'has' : 'does not have'} term candidate ${JSON.stringify(term)}`; - if (typeof rule !== 'undefined') { + if (rule !== null) { message += ` with rule ${JSON.stringify(rule)}`; } if (reasons !== null) { From ab2b5e15ac7b55333fa918993396b2c566094d57 Mon Sep 17 00:00:00 2001 From: Cashew Date: Fri, 2 Feb 2024 15:06:03 +0700 Subject: [PATCH 12/17] update deinflect.json, add tests --- ext/data/language/japanese-transforms.json | 42 +++++++++++++---- test/language-transformer.test.js | 55 ++++++++++++++++++++-- 2 files changed, 84 insertions(+), 13 deletions(-) diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index b3f0481493..97607b9538 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -944,22 +944,37 @@ ] }, { - "name": "ksb verb negative", + "name": "ksb", + "description": "Negative form of kansai-ben verbs", "rules": [ {"suffixIn": "へん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, {"suffixIn": "ひん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, + {"suffixIn": "せえへん", "suffixOut": "しない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, {"suffixIn": "へんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ひんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []} + {"suffixIn": "ひんかった", "suffixOut": "なかった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "うてへん", "suffixOut": "ってない", "conditionsIn": [], "conditionsOut": ["adj-i"]} ] }, { - "name": "ksb -u", + "name": "ksb", + "description": "-ku stem of kansai-ben adjectives", "rules": [ - {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []} + {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こう", "suffixOut": "かく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごう", "suffixOut": "がく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そう", "suffixOut": "さく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とう", "suffixOut": "たく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のう", "suffixOut": "なく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼう", "suffixOut": "ばく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もう", "suffixOut": "まく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろう", "suffixOut": "らく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "よう", "suffixOut": "よく", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "しゅう", "suffixOut": "しく", "conditionsIn": [], "conditionsOut": []} ] }, { - "name": "ksb adj -te", + "name": "ksb", + "description": "-te form of kansai-ben adjectives", "rules": [ {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "こうて", "suffixOut": "かくて", "conditionsIn": [], "conditionsOut": []}, @@ -969,11 +984,14 @@ {"suffixIn": "のうて", "suffixOut": "なくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ぼうて", "suffixOut": "ばくて", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "もうて", "suffixOut": "まくて", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "ろうて", "suffixOut": "らくて", "conditionsIn": [], "conditionsOut": []} + {"suffixIn": "ろうて", "suffixOut": "らくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ようて", "suffixOut": "よくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "しゅうて", "suffixOut": "しくて", "conditionsIn": [], "conditionsOut": []} ] }, { - "name": "ksb adj negative", + "name": "ksb", + "description": "Negative form of kansai-ben adjectives", "rules": [ {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "こうない", "suffixOut": "かくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, @@ -984,11 +1002,13 @@ {"suffixIn": "ぼうない", "suffixOut": "ばくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "もうない", "suffixOut": "まくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "ろうない", "suffixOut": "らくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, + {"suffixIn": "ようない", "suffixOut": "よくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, {"suffixIn": "しゅうない", "suffixOut": "しくない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]} ] }, { - "name": "ksb verb -te", + "name": "ksb", + "description": "-te form of kansai-ben verbs", "rules": [ {"suffixIn": "うて", "suffixOut": "って", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "おうて", "suffixOut": "あって", "conditionsIn": [], "conditionsOut": []}, @@ -1003,12 +1023,13 @@ {"suffixIn": "ぼうて", "suffixOut": "ばって", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "もうて", "suffixOut": "まって", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ろうて", "suffixOut": "らって", "conditionsIn": [], "conditionsOut": []}, - {"suffixIn": "しゅうて", "suffixOut": "しくて", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ようて", "suffixOut": "やって", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ゆうて", "suffixOut": "いって", "conditionsIn": [], "conditionsOut": []} ] }, { - "name": "ksb past", + "name": "ksb", + "description": "past form of kansai-ben terms", "rules": [ {"suffixIn": "うた", "suffixOut": "った", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "おうた", "suffixOut": "あった", "conditionsIn": [], "conditionsOut": []}, @@ -1023,6 +1044,7 @@ {"suffixIn": "ぼうた", "suffixOut": "ばった", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "もうた", "suffixOut": "まった", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ろうた", "suffixOut": "らった", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ようた", "suffixOut": "やった", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ゆうた", "suffixOut": "いった", "conditionsIn": [], "conditionsOut": []} ] } diff --git a/test/language-transformer.test.js b/test/language-transformer.test.js index d4637cce4e..63d3c74c98 100644 --- a/test/language-transformer.test.js +++ b/test/language-transformer.test.js @@ -1063,12 +1063,61 @@ function testDeinflections() { {term: '食べる', source: '食べて', rule: null, reasons: ['-te', 'progressive or perfect', 'masu stem']} ] }, + // Kansai-ben { - category: 'kansaiben', + category: '-ku stem of kansai-ben adjectives', valid: true, tests: [ - {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'ksb verb negative']}, - {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'ksb verb negative']} + {term: '宜しい', source: '宜しゅう', rule: null, reasons: ['adv', 'ksb']}, + {term: 'よろしい', source: 'よろしゅう', rule: null, reasons: ['adv', 'ksb']}, + {term: '良い', source: '良う', rule: null, reasons: ['adv', 'ksb']}, + {term: 'よい', source: 'よう', rule: null, reasons: ['adv', 'ksb']} + ] + }, + { + category: '-te form of kansai-ben adjectives', + valid: true, + tests: [ + {term: 'よろしい', source: 'よろしゅうて', rule: null, reasons: ['-te', 'ksb']}, + {term: '宜しい', source: '宜しゅうて', rule: null, reasons: ['-te', 'ksb']}, + {term: 'よい', source: 'ようて', rule: null, reasons: ['-te', 'ksb']}, + {term: '良い', source: '良うて', rule: null, reasons: ['-te', 'ksb']} + ] + }, + { + category: 'Negative form of kansai-ben adjectives', + valid: true, + tests: [ + {term: 'よろしい', source: 'よろしゅうない', rule: null, reasons: ['negative', 'ksb']}, + {term: '宜しい', source: '宜しゅうない', rule: null, reasons: ['negative', 'ksb']}, + {term: 'よい', source: 'ようない', rule: null, reasons: ['negative', 'ksb']}, + {term: '良い', source: '良うない', rule: null, reasons: ['negative', 'ksb']} + ] + }, + { + category: 'Negative form of kansai-ben verbs', + valid: true, + tests: [ + {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'ksb']}, + {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'ksb']} + ] + }, + { + category: '-te form of kansai-ben verbs', + valid: true, + tests: [ + {term: '買う', source: '買うて', rule: null, reasons: ['-te', 'ksb']}, + {term: 'かう', source: 'こうて', rule: null, reasons: ['-te', 'ksb']}, + {term: 'はう', source: 'ほうて', rule: null, reasons: ['-te', 'ksb']} + ] + }, + { + category: 'past form of kansai-ben terms', + valid: true, + tests: [ + {term: '買う', source: '買うた', rule: null, reasons: ['past', 'ksb']}, + {term: 'かう', source: 'こうた', rule: null, reasons: ['past', 'ksb']}, + {term: 'はう', source: 'ほうた', rule: null, reasons: ['past', 'ksb']} ] } ]; From f1a93213feb846d39d0cf6d668bc7977f9430d23 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 3 Feb 2024 09:02:18 +0700 Subject: [PATCH 13/17] run 'npm run test-code-write' --- test/data/anki-note-builder-test-results.json | 2 +- test/data/translator-test-results-note-data1.json | 7 +++++++ test/data/translator-test-results.json | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index b93b466ba1..59a1015733 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -2878,7 +2878,7 @@ "cloze-body": "のたもうた", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "past", + "conjugation": "
  • past
  • past « ksb
", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "のたまう", diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index 00ab1952a3..d8ecef071c 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -29737,6 +29737,13 @@ "inflectionRules": [ "past" ] + }, + { + "source": "algorithm", + "inflectionRules": [ + "past", + "ksb" + ] } ], "score": 1, diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index 8cf257ff91..b506eff292 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -16893,6 +16893,13 @@ "inflectionRules": [ "past" ] + }, + { + "source": "algorithm", + "inflectionRules": [ + "past", + "ksb" + ] } ], "score": 1, From 4adc8abadaeeee2550fc5147fadfa9921417b883 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 3 Feb 2024 09:10:16 +0700 Subject: [PATCH 14/17] rename to kansai-ben --- ext/data/language/japanese-transforms.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index 97607b9538..363e2e5401 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -944,7 +944,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "Negative form of kansai-ben verbs", "rules": [ {"suffixIn": "へん", "suffixOut": "ない", "conditionsIn": [], "conditionsOut": ["adj-i"]}, @@ -956,7 +956,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "-ku stem of kansai-ben adjectives", "rules": [ {"suffixIn": "う", "suffixOut": "く", "conditionsIn": [], "conditionsOut": []}, @@ -973,7 +973,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "-te form of kansai-ben adjectives", "rules": [ {"suffixIn": "うて", "suffixOut": "くて", "conditionsIn": [], "conditionsOut": []}, @@ -990,7 +990,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "Negative form of kansai-ben adjectives", "rules": [ {"suffixIn": "うない", "suffixOut": "くない", "conditionsIn": ["adj-i"], "conditionsOut": ["adj-i"]}, @@ -1007,7 +1007,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "-te form of kansai-ben verbs", "rules": [ {"suffixIn": "うて", "suffixOut": "って", "conditionsIn": [], "conditionsOut": []}, @@ -1028,7 +1028,7 @@ ] }, { - "name": "ksb", + "name": "kansai-ben", "description": "past form of kansai-ben terms", "rules": [ {"suffixIn": "うた", "suffixOut": "った", "conditionsIn": [], "conditionsOut": []}, From bbda8b8f2486b95172c0ce840fa12df4c03181c7 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 3 Feb 2024 09:10:57 +0700 Subject: [PATCH 15/17] update tests --- test/language-transformer.test.js | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/test/language-transformer.test.js b/test/language-transformer.test.js index 63d3c74c98..dd920f5e67 100644 --- a/test/language-transformer.test.js +++ b/test/language-transformer.test.js @@ -1068,56 +1068,56 @@ function testDeinflections() { category: '-ku stem of kansai-ben adjectives', valid: true, tests: [ - {term: '宜しい', source: '宜しゅう', rule: null, reasons: ['adv', 'ksb']}, - {term: 'よろしい', source: 'よろしゅう', rule: null, reasons: ['adv', 'ksb']}, - {term: '良い', source: '良う', rule: null, reasons: ['adv', 'ksb']}, - {term: 'よい', source: 'よう', rule: null, reasons: ['adv', 'ksb']} + {term: '宜しい', source: '宜しゅう', rule: null, reasons: ['adv', 'kansai-ben']}, + {term: 'よろしい', source: 'よろしゅう', rule: null, reasons: ['adv', 'kansai-ben']}, + {term: '良い', source: '良う', rule: null, reasons: ['adv', 'kansai-ben']}, + {term: 'よい', source: 'よう', rule: null, reasons: ['adv', 'kansai-ben']} ] }, { category: '-te form of kansai-ben adjectives', valid: true, tests: [ - {term: 'よろしい', source: 'よろしゅうて', rule: null, reasons: ['-te', 'ksb']}, - {term: '宜しい', source: '宜しゅうて', rule: null, reasons: ['-te', 'ksb']}, - {term: 'よい', source: 'ようて', rule: null, reasons: ['-te', 'ksb']}, - {term: '良い', source: '良うて', rule: null, reasons: ['-te', 'ksb']} + {term: 'よろしい', source: 'よろしゅうて', rule: null, reasons: ['-te', 'kansai-ben']}, + {term: '宜しい', source: '宜しゅうて', rule: null, reasons: ['-te', 'kansai-ben']}, + {term: 'よい', source: 'ようて', rule: null, reasons: ['-te', 'kansai-ben']}, + {term: '良い', source: '良うて', rule: null, reasons: ['-te', 'kansai-ben']} ] }, { category: 'Negative form of kansai-ben adjectives', valid: true, tests: [ - {term: 'よろしい', source: 'よろしゅうない', rule: null, reasons: ['negative', 'ksb']}, - {term: '宜しい', source: '宜しゅうない', rule: null, reasons: ['negative', 'ksb']}, - {term: 'よい', source: 'ようない', rule: null, reasons: ['negative', 'ksb']}, - {term: '良い', source: '良うない', rule: null, reasons: ['negative', 'ksb']} + {term: 'よろしい', source: 'よろしゅうない', rule: null, reasons: ['negative', 'kansai-ben']}, + {term: '宜しい', source: '宜しゅうない', rule: null, reasons: ['negative', 'kansai-ben']}, + {term: 'よい', source: 'ようない', rule: null, reasons: ['negative', 'kansai-ben']}, + {term: '良い', source: '良うない', rule: null, reasons: ['negative', 'kansai-ben']} ] }, { category: 'Negative form of kansai-ben verbs', valid: true, tests: [ - {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'ksb']}, - {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'ksb']} + {term: '食べる', source: '食べへん', rule: null, reasons: ['negative', 'kansai-ben']}, + {term: '食べる', source: '食べへんかった', rule: null, reasons: ['negative', 'past', 'kansai-ben']} ] }, { category: '-te form of kansai-ben verbs', valid: true, tests: [ - {term: '買う', source: '買うて', rule: null, reasons: ['-te', 'ksb']}, - {term: 'かう', source: 'こうて', rule: null, reasons: ['-te', 'ksb']}, - {term: 'はう', source: 'ほうて', rule: null, reasons: ['-te', 'ksb']} + {term: '買う', source: '買うて', rule: null, reasons: ['-te', 'kansai-ben']}, + {term: 'かう', source: 'こうて', rule: null, reasons: ['-te', 'kansai-ben']}, + {term: 'はう', source: 'ほうて', rule: null, reasons: ['-te', 'kansai-ben']} ] }, { category: 'past form of kansai-ben terms', valid: true, tests: [ - {term: '買う', source: '買うた', rule: null, reasons: ['past', 'ksb']}, - {term: 'かう', source: 'こうた', rule: null, reasons: ['past', 'ksb']}, - {term: 'はう', source: 'ほうた', rule: null, reasons: ['past', 'ksb']} + {term: '買う', source: '買うた', rule: null, reasons: ['past', 'kansai-ben']}, + {term: 'かう', source: 'こうた', rule: null, reasons: ['past', 'kansai-ben']}, + {term: 'はう', source: 'ほうた', rule: null, reasons: ['past', 'kansai-ben']} ] } ]; From cb99fc164b1fd2370eaf4a7595b6fe45af14b570 Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 3 Feb 2024 09:55:22 +0700 Subject: [PATCH 16/17] run 'npm run test-code-write' again --- test/data/anki-note-builder-test-results.json | 2 +- test/data/translator-test-results-note-data1.json | 2 +- test/data/translator-test-results.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index 59a1015733..8b1de0e272 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -2878,7 +2878,7 @@ "cloze-body": "のたもうた", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "
  • past
  • past « ksb
", + "conjugation": "
  • past
  • past « kansai-ben
", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "のたまう", diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index d8ecef071c..aa86de336c 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -29742,7 +29742,7 @@ "source": "algorithm", "inflectionRules": [ "past", - "ksb" + "kansai-ben" ] } ], diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index b506eff292..2b43e4bc84 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -16898,7 +16898,7 @@ "source": "algorithm", "inflectionRules": [ "past", - "ksb" + "kansai-ben" ] } ], From df75839471a5a70f3d455083046411dc6851deae Mon Sep 17 00:00:00 2001 From: Cashew Date: Sat, 3 Feb 2024 14:18:01 +0700 Subject: [PATCH 17/17] add -tara deinflection --- ext/data/language/japanese-transforms.json | 21 +++++++++++++++++++++ test/language-transformer.test.js | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index 363e2e5401..a46678793a 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -1047,6 +1047,27 @@ {"suffixIn": "ようた", "suffixOut": "やった", "conditionsIn": [], "conditionsOut": []}, {"suffixIn": "ゆうた", "suffixOut": "いった", "conditionsIn": [], "conditionsOut": []} ] + }, + { + "name": "kansai-ben", + "description": "-tara form of kansai-ben terms", + "rules": [ + {"suffixIn": "うたら", "suffixOut": "ったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "おうたら", "suffixOut": "あったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "こうたら", "suffixOut": "かったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ごうたら", "suffixOut": "がったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "そうたら", "suffixOut": "さったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぞうたら", "suffixOut": "ざったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "とうたら", "suffixOut": "たったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "どうたら", "suffixOut": "だったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "のうたら", "suffixOut": "なったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ほうたら", "suffixOut": "はったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ぼうたら", "suffixOut": "ばったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "もうたら", "suffixOut": "まったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ろうたら", "suffixOut": "らったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ようたら", "suffixOut": "やったら", "conditionsIn": [], "conditionsOut": []}, + {"suffixIn": "ゆうたら", "suffixOut": "いったら", "conditionsIn": [], "conditionsOut": []} + ] } ] } diff --git a/test/language-transformer.test.js b/test/language-transformer.test.js index dd920f5e67..a0a69b64bf 100644 --- a/test/language-transformer.test.js +++ b/test/language-transformer.test.js @@ -1119,6 +1119,15 @@ function testDeinflections() { {term: 'かう', source: 'こうた', rule: null, reasons: ['past', 'kansai-ben']}, {term: 'はう', source: 'ほうた', rule: null, reasons: ['past', 'kansai-ben']} ] + }, + { + category: '-tara form of kansai-ben terms', + valid: true, + tests: [ + {term: '買う', source: '買うたら', rule: null, reasons: ['-tara', 'kansai-ben']}, + {term: 'かう', source: 'こうたら', rule: null, reasons: ['-tara', 'kansai-ben']}, + {term: 'はう', source: 'ほうたら', rule: null, reasons: ['-tara', 'kansai-ben']} + ] } ]; /* eslint-enable no-multi-spaces */