diff --git a/ext/data/language/japanese-transforms.json b/ext/data/language/japanese-transforms.json index a46678793a..af2d0b04ad 100644 --- a/ext/data/language/japanese-transforms.json +++ b/ext/data/language/japanese-transforms.json @@ -1,6 +1,17 @@ { "language": "ja", "conditions": { + "v": { + "name": "Verb", + "partsOfSpeech": ["v1", "v5", "vk", "vs", "vz"], + "i18n": [ + { + "language": "ja", + "name": "動詞" + } + ], + "subConditions": ["v1", "v5", "vk", "vs", "vz"] + }, "v1": { "name": "Ichidan verb", "partsOfSpeech": ["v1"], @@ -365,7 +376,8 @@ {"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": [], "conditionsOut": ["v"]} ] }, { @@ -531,7 +543,7 @@ { "name": "imperative negative", "rules": [ - {"suffixIn": "な", "suffixOut": "", "conditionsIn": [], "conditionsOut": ["v1", "v5", "vk", "vs", "vz"]} + {"suffixIn": "な", "suffixOut": "", "conditionsIn": [], "conditionsOut": ["v"]} ] }, { @@ -592,7 +604,8 @@ {"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"]} + {"suffixIn": "來ない", "suffixOut": "來る", "conditionsIn": ["adj-i"], "conditionsOut": ["vk"]}, + {"suffixIn": "ません", "suffixOut": "ます", "conditionsIn": ["v"], "conditionsOut": ["v"]} ] }, { @@ -659,114 +672,31 @@ {"suffixIn": "添うた", "suffixOut": "添う", "conditionsIn": [], "conditionsOut": ["v5"]}, {"suffixIn": "副うた", "suffixOut": "副う", "conditionsIn": [], "conditionsOut": ["v5"]}, {"suffixIn": "厭うた", "suffixOut": "厭う", "conditionsIn": [], "conditionsOut": ["v5"]}, - {"suffixIn": "のたもうた", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]} + {"suffixIn": "のたもうた", "suffixOut": "のたまう", "conditionsIn": [], "conditionsOut": ["v5"]}, + {"suffixIn": "ました", "suffixOut": "ます", "conditionsIn": [], "conditionsOut": ["v"]}, + {"suffixIn": "ませんでした", "suffixOut": "ません", "conditionsIn": [], "conditionsOut": ["v"]} ] }, { "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"]} + {"suffixIn": "ます", "suffixOut": "る", "conditionsIn": ["v1"], "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": ["vz"], "conditionsOut": ["vz"]}, + {"suffixIn": "します", "suffixOut": "する", "conditionsIn": ["vs"], "conditionsOut": ["vs"]}, + {"suffixIn": "為ます", "suffixOut": "為る", "conditionsIn": ["vs"], "conditionsOut": ["vs"]}, + {"suffixIn": "きます", "suffixOut": "くる", "conditionsIn": ["vk"], "conditionsOut": ["vk"]}, + {"suffixIn": "来ます", "suffixOut": "来る", "conditionsIn": ["vk"], "conditionsOut": ["vk"]}, + {"suffixIn": "來ます", "suffixOut": "來る", "conditionsIn": ["vk"], "conditionsOut": ["vk"]}, + {"suffixIn": "くあります", "suffixOut": "い", "conditionsIn": ["v"], "conditionsOut": ["adj-i"]} ] }, { @@ -819,7 +749,8 @@ {"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"]}, + {"suffixIn": "ましょう", "suffixOut": "ます", "conditionsIn": [], "conditionsOut": ["v"]} ] }, { diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index 526beec717..364c4ee948 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -1692,7 +1692,7 @@ "cloze-body": "打ち込んでいませんでした", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "-te « progressive or perfect « polite past negative", + "conjugation": "-te « progressive or perfect « polite « negative « past", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "打ち込む", @@ -1727,7 +1727,7 @@ "cloze-body": "打ち込んでいませんでした", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "-te « progressive or perfect « polite past negative", + "conjugation": "-te « progressive or perfect « polite « negative « past", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "打ち込む", @@ -1762,7 +1762,7 @@ "cloze-body": "打ち込んでいませんでした", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "-te « progressive or perfect « polite past negative", + "conjugation": "-te « progressive or perfect « polite « negative « past", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "打ち込む", @@ -1797,7 +1797,7 @@ "cloze-body": "打ち込んでいませんでした", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "-te « progressive or perfect « polite past negative", + "conjugation": "-te « progressive or perfect « polite « negative « past", "dictionary": "Test Dictionary 2", "document-title": "title", "expression": "打ち込む", @@ -2837,7 +2837,7 @@ "cloze-body": "testました", "cloze-prefix": "cloze-prefix", "cloze-suffix": "cloze-suffix", - "conjugation": "polite past", + "conjugation": "polite « past", "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 510b1bb51d..5f1409020a 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -15851,7 +15851,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -16276,7 +16278,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -16701,7 +16705,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -17126,7 +17132,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -26937,7 +26945,8 @@ { "source": "algorithm", "inflectionRules": [ - "polite past" + "polite", + "past" ] } ], diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index 2b43e4bc84..925d36cf3b 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -9424,7 +9424,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -9622,7 +9624,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -9820,7 +9824,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -10018,7 +10024,9 @@ "inflectionRules": [ "-te", "progressive or perfect", - "polite past negative" + "polite", + "negative", + "past" ] } ], @@ -15113,7 +15121,8 @@ { "source": "algorithm", "inflectionRules": [ - "polite past" + "polite", + "past" ] } ], diff --git a/test/language-transformer.test.js b/test/language-transformer.test.js index a0a69b64bf..9e9a9ee34b 100644 --- a/test/language-transformer.test.js +++ b/test/language-transformer.test.js @@ -80,8 +80,8 @@ function testDeinflections() { {term: '愛しい', source: '愛しくない', rule: 'adj-i', reasons: ['negative']}, {term: '愛しい', source: '愛しさ', rule: 'adj-i', reasons: ['noun']}, {term: '愛しい', source: '愛しかった', rule: 'adj-i', reasons: ['past']}, - {term: '愛しい', source: '愛しくありません', rule: 'adj-i', reasons: ['polite negative']}, - {term: '愛しい', source: '愛しくありませんでした', rule: 'adj-i', reasons: ['polite past negative']}, + {term: '愛しい', source: '愛しくありません', rule: 'adj-i', reasons: ['polite', 'negative']}, + {term: '愛しい', source: '愛しくありませんでした', rule: 'adj-i', reasons: ['polite', 'negative', 'past']}, {term: '愛しい', source: '愛しき', rule: 'adj-i', reasons: ['-ki']}, {term: '愛しい', source: '愛しげ', rule: 'adj-i', reasons: ['-ge']} ] @@ -93,7 +93,7 @@ function testDeinflections() { {term: '食べる', source: '食べる', rule: 'v1', reasons: []}, {term: '食べる', source: '食べます', rule: 'v1', reasons: ['polite']}, {term: '食べる', source: '食べた', rule: 'v1', reasons: ['past']}, - {term: '食べる', source: '食べました', rule: 'v1', reasons: ['polite past']}, + {term: '食べる', source: '食べました', rule: 'v1', reasons: ['polite', 'past']}, {term: '食べる', source: '食べて', rule: 'v1', reasons: ['-te']}, {term: '食べる', source: '食べられる', rule: 'v1', reasons: ['potential or passive']}, {term: '食べる', source: '食べられる', rule: 'v1', reasons: ['potential or passive']}, @@ -101,15 +101,16 @@ function testDeinflections() { {term: '食べる', source: '食べさせられる', rule: 'v1', reasons: ['causative', 'potential or passive']}, {term: '食べる', source: '食べろ', rule: 'v1', reasons: ['imperative']}, {term: '食べる', source: '食べない', rule: 'v1', reasons: ['negative']}, - {term: '食べる', source: '食べません', rule: 'v1', reasons: ['polite negative']}, + {term: '食べる', source: '食べません', rule: 'v1', reasons: ['polite', 'negative']}, {term: '食べる', source: '食べなかった', rule: 'v1', reasons: ['negative', 'past']}, - {term: '食べる', source: '食べませんでした', rule: 'v1', reasons: ['polite past negative']}, + {term: '食べる', source: '食べませんでした', rule: 'v1', reasons: ['polite', 'negative', 'past']}, {term: '食べる', source: '食べなくて', rule: 'v1', reasons: ['negative', '-te']}, {term: '食べる', source: '食べられない', rule: 'v1', reasons: ['potential or passive', 'negative']}, {term: '食べる', source: '食べられない', rule: 'v1', reasons: ['potential or passive', 'negative']}, {term: '食べる', source: '食べさせない', rule: 'v1', reasons: ['causative', 'negative']}, {term: '食べる', source: '食べさせられない', rule: 'v1', reasons: ['causative', 'potential or passive', 'negative']}, {term: '食べる', source: '食べるな', rule: 'v1', reasons: ['imperative negative']}, + {term: '食べる', source: '食べまして', rule: 'v1', reasons: ['polite', '-te']}, {term: '食べる', source: '食べれば', rule: 'v1', reasons: ['-ba']}, {term: '食べる', source: '食べちゃう', rule: 'v1', reasons: ['-chau']}, @@ -125,7 +126,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '食べる', source: '食べよう', rule: 'v1', reasons: ['volitional']}, // ['causative passive'] {term: '食べる', source: '食べとく', rule: 'v1', reasons: ['-toku']}, @@ -143,7 +144,7 @@ function testDeinflections() { {term: '買う', source: '買う', rule: 'v5', reasons: []}, {term: '買う', source: '買います', rule: 'v5', reasons: ['polite']}, {term: '買う', source: '買った', rule: 'v5', reasons: ['past']}, - {term: '買う', source: '買いました', rule: 'v5', reasons: ['polite past']}, + {term: '買う', source: '買いました', rule: 'v5', reasons: ['polite', 'past']}, {term: '買う', source: '買って', rule: 'v5', reasons: ['-te']}, {term: '買う', source: '買える', rule: 'v5', reasons: ['potential']}, {term: '買う', source: '買われる', rule: 'v5', reasons: ['passive']}, @@ -151,15 +152,16 @@ function testDeinflections() { {term: '買う', source: '買わせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '買う', source: '買え', rule: 'v5', reasons: ['imperative']}, {term: '買う', source: '買わない', rule: 'v5', reasons: ['negative']}, - {term: '買う', source: '買いません', rule: 'v5', reasons: ['polite negative']}, + {term: '買う', source: '買いません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '買う', source: '買わなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '買う', source: '買いませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '買う', source: '買いませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '買う', source: '買わなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '買う', source: '買えない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '買う', source: '買われない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '買う', source: '買わせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '買う', source: '買わせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '買う', source: '買うな', rule: 'v5', reasons: ['imperative negative']}, + {term: '買う', source: '買いまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '買う', source: '買えば', rule: 'v5', reasons: ['-ba']}, {term: '買う', source: '買っちゃう', rule: 'v5', reasons: ['-chau']}, @@ -175,7 +177,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '買う', source: '買おう', rule: 'v5', reasons: ['volitional']}, {term: '買う', source: '買わされる', rule: 'v5', reasons: ['causative passive']}, {term: '買う', source: '買っとく', rule: 'v5', reasons: ['-toku']}, @@ -193,7 +195,7 @@ function testDeinflections() { {term: '行く', source: '行く', rule: 'v5', reasons: []}, {term: '行く', source: '行きます', rule: 'v5', reasons: ['polite']}, {term: '行く', source: '行った', rule: 'v5', reasons: ['past']}, - {term: '行く', source: '行きました', rule: 'v5', reasons: ['polite past']}, + {term: '行く', source: '行きました', rule: 'v5', reasons: ['polite', 'past']}, {term: '行く', source: '行って', rule: 'v5', reasons: ['-te']}, {term: '行く', source: '行ける', rule: 'v5', reasons: ['potential']}, {term: '行く', source: '行かれる', rule: 'v5', reasons: ['passive']}, @@ -201,15 +203,16 @@ function testDeinflections() { {term: '行く', source: '行かせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '行く', source: '行け', rule: 'v5', reasons: ['imperative']}, {term: '行く', source: '行かない', rule: 'v5', reasons: ['negative']}, - {term: '行く', source: '行きません', rule: 'v5', reasons: ['polite negative']}, + {term: '行く', source: '行きません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '行く', source: '行かなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '行く', source: '行きませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '行く', source: '行きませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '行く', source: '行かなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '行く', source: '行けない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '行く', source: '行かれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '行く', source: '行かせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '行く', source: '行かせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '行く', source: '行くな', rule: 'v5', reasons: ['imperative negative']}, + {term: '行く', source: '行きまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '行く', source: '行けば', rule: 'v5', reasons: ['-ba']}, {term: '行く', source: '行っちゃう', rule: 'v5', reasons: ['-chau']}, @@ -225,7 +228,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '行く', source: '行こう', rule: 'v5', reasons: ['volitional']}, {term: '行く', source: '行かされる', rule: 'v5', reasons: ['causative passive']}, {term: '行く', source: '行いとく', rule: 'v5', reasons: ['-toku']}, @@ -243,7 +246,7 @@ function testDeinflections() { {term: '泳ぐ', source: '泳ぐ', rule: 'v5', reasons: []}, {term: '泳ぐ', source: '泳ぎます', rule: 'v5', reasons: ['polite']}, {term: '泳ぐ', source: '泳いだ', rule: 'v5', reasons: ['past']}, - {term: '泳ぐ', source: '泳ぎました', rule: 'v5', reasons: ['polite past']}, + {term: '泳ぐ', source: '泳ぎました', rule: 'v5', reasons: ['polite', 'past']}, {term: '泳ぐ', source: '泳いで', rule: 'v5', reasons: ['-te']}, {term: '泳ぐ', source: '泳げる', rule: 'v5', reasons: ['potential']}, {term: '泳ぐ', source: '泳がれる', rule: 'v5', reasons: ['passive']}, @@ -251,15 +254,16 @@ function testDeinflections() { {term: '泳ぐ', source: '泳がせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '泳ぐ', source: '泳げ', rule: 'v5', reasons: ['imperative']}, {term: '泳ぐ', source: '泳がない', rule: 'v5', reasons: ['negative']}, - {term: '泳ぐ', source: '泳ぎません', rule: 'v5', reasons: ['polite negative']}, + {term: '泳ぐ', source: '泳ぎません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '泳ぐ', source: '泳がなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '泳ぐ', source: '泳ぎませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '泳ぐ', source: '泳ぎませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '泳ぐ', source: '泳がなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '泳ぐ', source: '泳げない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '泳ぐ', source: '泳がれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '泳ぐ', source: '泳がせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '泳ぐ', source: '泳がせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '泳ぐ', source: '泳ぐな', rule: 'v5', reasons: ['imperative negative']}, + {term: '泳ぐ', source: '泳ぎまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '泳ぐ', source: '泳げば', rule: 'v5', reasons: ['-ba']}, {term: '泳ぐ', source: '泳いじゃう', rule: 'v5', reasons: ['-chau']}, @@ -275,7 +279,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '泳ぐ', source: '泳ごう', rule: 'v5', reasons: ['volitional']}, {term: '泳ぐ', source: '泳がされる', rule: 'v5', reasons: ['causative passive']}, {term: '泳ぐ', source: '泳いどく', rule: 'v5', reasons: ['-toku']}, @@ -292,7 +296,7 @@ function testDeinflections() { {term: '話す', source: '話す', rule: 'v5', reasons: []}, {term: '話す', source: '話します', rule: 'v5', reasons: ['polite']}, {term: '話す', source: '話した', rule: 'v5', reasons: ['past']}, - {term: '話す', source: '話しました', rule: 'v5', reasons: ['polite past']}, + {term: '話す', source: '話しました', rule: 'v5', reasons: ['polite', 'past']}, {term: '話す', source: '話して', rule: 'v5', reasons: ['-te']}, {term: '話す', source: '話せる', rule: 'v5', reasons: ['potential']}, {term: '話す', source: '話される', rule: 'v5', reasons: ['passive']}, @@ -300,15 +304,16 @@ function testDeinflections() { {term: '話す', source: '話させられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '話す', source: '話せ', rule: 'v5', reasons: ['imperative']}, {term: '話す', source: '話さない', rule: 'v5', reasons: ['negative']}, - {term: '話す', source: '話しません', rule: 'v5', reasons: ['polite negative']}, + {term: '話す', source: '話しません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '話す', source: '話さなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '話す', source: '話しませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '話す', source: '話しませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '話す', source: '話さなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '話す', source: '話せない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '話す', source: '話されない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '話す', source: '話させない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '話す', source: '話させられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '話す', source: '話すな', rule: 'v5', reasons: ['imperative negative']}, + {term: '話す', source: '話しまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '話す', source: '話せば', rule: 'v5', reasons: ['-ba']}, {term: '話す', source: '話しちゃう', rule: 'v5', reasons: ['-chau']}, @@ -324,7 +329,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '話す', source: '話そう', rule: 'v5', reasons: ['volitional']}, // ['causative passive'] {term: '話す', source: '話しとく', rule: 'v5', reasons: ['-toku']}, @@ -342,7 +347,7 @@ function testDeinflections() { {term: '待つ', source: '待つ', rule: 'v5', reasons: []}, {term: '待つ', source: '待ちます', rule: 'v5', reasons: ['polite']}, {term: '待つ', source: '待った', rule: 'v5', reasons: ['past']}, - {term: '待つ', source: '待ちました', rule: 'v5', reasons: ['polite past']}, + {term: '待つ', source: '待ちました', rule: 'v5', reasons: ['polite', 'past']}, {term: '待つ', source: '待って', rule: 'v5', reasons: ['-te']}, {term: '待つ', source: '待てる', rule: 'v5', reasons: ['potential']}, {term: '待つ', source: '待たれる', rule: 'v5', reasons: ['passive']}, @@ -350,15 +355,16 @@ function testDeinflections() { {term: '待つ', source: '待たせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '待つ', source: '待て', rule: 'v5', reasons: ['imperative']}, {term: '待つ', source: '待たない', rule: 'v5', reasons: ['negative']}, - {term: '待つ', source: '待ちません', rule: 'v5', reasons: ['polite negative']}, + {term: '待つ', source: '待ちません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '待つ', source: '待たなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '待つ', source: '待ちませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '待つ', source: '待ちませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '待つ', source: '待たなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '待つ', source: '待てない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '待つ', source: '待たれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '待つ', source: '待たせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '待つ', source: '待たせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '待つ', source: '待つな', rule: 'v5', reasons: ['imperative negative']}, + {term: '待つ', source: '待ちまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '待つ', source: '待てば', rule: 'v5', reasons: ['-ba']}, {term: '待つ', source: '待っちゃう', rule: 'v5', reasons: ['-chau']}, @@ -374,7 +380,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '待つ', source: '待とう', rule: 'v5', reasons: ['volitional']}, {term: '待つ', source: '待たされる', rule: 'v5', reasons: ['causative passive']}, {term: '待つ', source: '待っとく', rule: 'v5', reasons: ['-toku']}, @@ -392,7 +398,7 @@ function testDeinflections() { {term: '死ぬ', source: '死ぬ', rule: 'v5', reasons: []}, {term: '死ぬ', source: '死にます', rule: 'v5', reasons: ['polite']}, {term: '死ぬ', source: '死んだ', rule: 'v5', reasons: ['past']}, - {term: '死ぬ', source: '死にました', rule: 'v5', reasons: ['polite past']}, + {term: '死ぬ', source: '死にました', rule: 'v5', reasons: ['polite', 'past']}, {term: '死ぬ', source: '死んで', rule: 'v5', reasons: ['-te']}, {term: '死ぬ', source: '死ねる', rule: 'v5', reasons: ['potential']}, {term: '死ぬ', source: '死なれる', rule: 'v5', reasons: ['passive']}, @@ -400,15 +406,16 @@ function testDeinflections() { {term: '死ぬ', source: '死なせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '死ぬ', source: '死ね', rule: 'v5', reasons: ['imperative']}, {term: '死ぬ', source: '死なない', rule: 'v5', reasons: ['negative']}, - {term: '死ぬ', source: '死にません', rule: 'v5', reasons: ['polite negative']}, + {term: '死ぬ', source: '死にません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '死ぬ', source: '死ななかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '死ぬ', source: '死にませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '死ぬ', source: '死にませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '死ぬ', source: '死ななくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '死ぬ', source: '死ねない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '死ぬ', source: '死なれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '死ぬ', source: '死なせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '死ぬ', source: '死なせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '死ぬ', source: '死ぬな', rule: 'v5', reasons: ['imperative negative']}, + {term: '死ぬ', source: '死にまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '死ぬ', source: '死ねば', rule: 'v5', reasons: ['-ba']}, {term: '死ぬ', source: '死んじゃう', rule: 'v5', reasons: ['-chau']}, @@ -424,7 +431,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '死ぬ', source: '死のう', rule: 'v5', reasons: ['volitional']}, {term: '死ぬ', source: '死なされる', rule: 'v5', reasons: ['causative passive']}, {term: '死ぬ', source: '死んどく', rule: 'v5', reasons: ['-toku']}, @@ -441,7 +448,7 @@ function testDeinflections() { {term: '遊ぶ', source: '遊ぶ', rule: 'v5', reasons: []}, {term: '遊ぶ', source: '遊びます', rule: 'v5', reasons: ['polite']}, {term: '遊ぶ', source: '遊んだ', rule: 'v5', reasons: ['past']}, - {term: '遊ぶ', source: '遊びました', rule: 'v5', reasons: ['polite past']}, + {term: '遊ぶ', source: '遊びました', rule: 'v5', reasons: ['polite', 'past']}, {term: '遊ぶ', source: '遊んで', rule: 'v5', reasons: ['-te']}, {term: '遊ぶ', source: '遊べる', rule: 'v5', reasons: ['potential']}, {term: '遊ぶ', source: '遊ばれる', rule: 'v5', reasons: ['passive']}, @@ -449,15 +456,16 @@ function testDeinflections() { {term: '遊ぶ', source: '遊ばせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '遊ぶ', source: '遊べ', rule: 'v5', reasons: ['imperative']}, {term: '遊ぶ', source: '遊ばない', rule: 'v5', reasons: ['negative']}, - {term: '遊ぶ', source: '遊びません', rule: 'v5', reasons: ['polite negative']}, + {term: '遊ぶ', source: '遊びません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '遊ぶ', source: '遊ばなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '遊ぶ', source: '遊びませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '遊ぶ', source: '遊びませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '遊ぶ', source: '遊ばなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '遊ぶ', source: '遊べない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '遊ぶ', source: '遊ばれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '遊ぶ', source: '遊ばせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '遊ぶ', source: '遊ばせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '遊ぶ', source: '遊ぶな', rule: 'v5', reasons: ['imperative negative']}, + {term: '遊ぶ', source: '遊びまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '遊ぶ', source: '遊べば', rule: 'v5', reasons: ['-ba']}, {term: '遊ぶ', source: '遊んじゃう', rule: 'v5', reasons: ['-chau']}, @@ -473,7 +481,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '遊ぶ', source: '遊ぼう', rule: 'v5', reasons: ['volitional']}, {term: '遊ぶ', source: '遊ばされる', rule: 'v5', reasons: ['causative passive']}, {term: '遊ぶ', source: '遊んどく', rule: 'v5', reasons: ['-toku']}, @@ -490,7 +498,7 @@ function testDeinflections() { {term: '飲む', source: '飲む', rule: 'v5', reasons: []}, {term: '飲む', source: '飲みます', rule: 'v5', reasons: ['polite']}, {term: '飲む', source: '飲んだ', rule: 'v5', reasons: ['past']}, - {term: '飲む', source: '飲みました', rule: 'v5', reasons: ['polite past']}, + {term: '飲む', source: '飲みました', rule: 'v5', reasons: ['polite', 'past']}, {term: '飲む', source: '飲んで', rule: 'v5', reasons: ['-te']}, {term: '飲む', source: '飲める', rule: 'v5', reasons: ['potential']}, {term: '飲む', source: '飲まれる', rule: 'v5', reasons: ['passive']}, @@ -498,15 +506,16 @@ function testDeinflections() { {term: '飲む', source: '飲ませられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '飲む', source: '飲め', rule: 'v5', reasons: ['imperative']}, {term: '飲む', source: '飲まない', rule: 'v5', reasons: ['negative']}, - {term: '飲む', source: '飲みません', rule: 'v5', reasons: ['polite negative']}, + {term: '飲む', source: '飲みません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '飲む', source: '飲まなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '飲む', source: '飲みませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '飲む', source: '飲みませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '飲む', source: '飲まなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '飲む', source: '飲めない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '飲む', source: '飲まれない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '飲む', source: '飲ませない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '飲む', source: '飲ませられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '飲む', source: '飲むな', rule: 'v5', reasons: ['imperative negative']}, + {term: '飲む', source: '飲みまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '飲む', source: '飲めば', rule: 'v5', reasons: ['-ba']}, {term: '飲む', source: '飲んじゃう', rule: 'v5', reasons: ['-chau']}, @@ -522,7 +531,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '飲む', source: '飲もう', rule: 'v5', reasons: ['volitional']}, {term: '飲む', source: '飲まされる', rule: 'v5', reasons: ['causative passive']}, {term: '飲む', source: '飲んどく', rule: 'v5', reasons: ['-toku']}, @@ -539,7 +548,7 @@ function testDeinflections() { {term: '作る', source: '作る', rule: 'v5', reasons: []}, {term: '作る', source: '作ります', rule: 'v5', reasons: ['polite']}, {term: '作る', source: '作った', rule: 'v5', reasons: ['past']}, - {term: '作る', source: '作りました', rule: 'v5', reasons: ['polite past']}, + {term: '作る', source: '作りました', rule: 'v5', reasons: ['polite', 'past']}, {term: '作る', source: '作って', rule: 'v5', reasons: ['-te']}, {term: '作る', source: '作れる', rule: 'v5', reasons: ['potential']}, {term: '作る', source: '作られる', rule: 'v5', reasons: ['passive']}, @@ -547,15 +556,16 @@ function testDeinflections() { {term: '作る', source: '作らせられる', rule: 'v5', reasons: ['causative', 'potential or passive']}, {term: '作る', source: '作れ', rule: 'v5', reasons: ['imperative']}, {term: '作る', source: '作らない', rule: 'v5', reasons: ['negative']}, - {term: '作る', source: '作りません', rule: 'v5', reasons: ['polite negative']}, + {term: '作る', source: '作りません', rule: 'v5', reasons: ['polite', 'negative']}, {term: '作る', source: '作らなかった', rule: 'v5', reasons: ['negative', 'past']}, - {term: '作る', source: '作りませんでした', rule: 'v5', reasons: ['polite past negative']}, + {term: '作る', source: '作りませんでした', rule: 'v5', reasons: ['polite', 'negative', 'past']}, {term: '作る', source: '作らなくて', rule: 'v5', reasons: ['negative', '-te']}, {term: '作る', source: '作れない', rule: 'v5', reasons: ['potential', 'negative']}, {term: '作る', source: '作られない', rule: 'v5', reasons: ['passive', 'negative']}, {term: '作る', source: '作らせない', rule: 'v5', reasons: ['causative', 'negative']}, {term: '作る', source: '作らせられない', rule: 'v5', reasons: ['causative', 'potential or passive', 'negative']}, {term: '作る', source: '作るな', rule: 'v5', reasons: ['imperative negative']}, + {term: '作る', source: '作りまして', rule: 'v5', reasons: ['polite', '-te']}, {term: '作る', source: '作れば', rule: 'v5', reasons: ['-ba']}, {term: '作る', source: '作っちゃう', rule: 'v5', reasons: ['-chau']}, @@ -571,7 +581,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '作る', source: '作ろう', rule: 'v5', reasons: ['volitional']}, {term: '作る', source: '作らされる', rule: 'v5', reasons: ['causative passive']}, {term: '作る', source: '作っとく', rule: 'v5', reasons: ['-toku']}, @@ -589,7 +599,7 @@ function testDeinflections() { {term: '為る', source: '為る', rule: 'vs', reasons: []}, {term: '為る', source: '為ます', rule: 'vs', reasons: ['polite']}, {term: '為る', source: '為た', rule: 'vs', reasons: ['past']}, - {term: '為る', source: '為ました', rule: 'vs', reasons: ['polite past']}, + {term: '為る', source: '為ました', rule: 'vs', reasons: ['polite', 'past']}, {term: '為る', source: '為て', rule: 'vs', reasons: ['-te']}, {term: '為る', source: '為られる', rule: 'vs', reasons: ['potential or passive']}, {term: '為る', source: '為れる', rule: 'vs', reasons: ['passive']}, @@ -599,9 +609,9 @@ function testDeinflections() { {term: '為る', source: '為させられる', rule: 'vs', reasons: ['causative', 'potential or passive']}, {term: '為る', source: '為ろ', rule: 'vs', reasons: ['imperative']}, {term: '為る', source: '為ない', rule: 'vs', reasons: ['negative']}, - {term: '為る', source: '為ません', rule: 'vs', reasons: ['polite negative']}, + {term: '為る', source: '為ません', rule: 'vs', reasons: ['polite', 'negative']}, {term: '為る', source: '為なかった', rule: 'vs', reasons: ['negative', 'past']}, - {term: '為る', source: '為ませんでした', rule: 'vs', reasons: ['polite past negative']}, + {term: '為る', source: '為ませんでした', rule: 'vs', reasons: ['polite', 'negative', 'past']}, {term: '為る', source: '為なくて', rule: 'vs', reasons: ['negative', '-te']}, {term: '為る', source: '為られない', rule: 'vs', reasons: ['potential or passive', 'negative']}, {term: '為る', source: '為れない', rule: 'vs', reasons: ['passive', 'negative']}, @@ -610,6 +620,7 @@ function testDeinflections() { {term: '為る', source: '為せられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']}, {term: '為る', source: '為させられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']}, {term: '為る', source: '為るな', rule: 'vs', reasons: ['imperative negative']}, + {term: '為る', source: '為まして', rule: 'vs', reasons: ['polite', '-te']}, {term: '為る', source: '為れば', rule: 'vs', reasons: ['-ba']}, {term: '為る', source: '為ちゃう', rule: 'vs', reasons: ['-chau']}, @@ -625,7 +636,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '為る', source: '為よう', rule: 'vs', reasons: ['volitional']}, // ['causative passive'] {term: '為る', source: '為とく', rule: 'vs', reasons: ['-toku']}, @@ -638,7 +649,7 @@ function testDeinflections() { {term: 'する', source: 'する', rule: 'vs', reasons: []}, {term: 'する', source: 'します', rule: 'vs', reasons: ['polite']}, {term: 'する', source: 'した', rule: 'vs', reasons: ['past']}, - {term: 'する', source: 'しました', rule: 'vs', reasons: ['polite past']}, + {term: 'する', source: 'しました', rule: 'vs', reasons: ['polite', 'past']}, {term: 'する', source: 'して', rule: 'vs', reasons: ['-te']}, {term: 'する', source: 'できる', rule: 'vs', reasons: ['potential']}, {term: 'する', source: '出来る', rule: 'vs', reasons: ['potential']}, @@ -650,9 +661,9 @@ function testDeinflections() { {term: 'する', source: 'せさせられる', rule: 'vs', reasons: ['causative', 'potential or passive']}, {term: 'する', source: 'しろ', rule: 'vs', reasons: ['imperative']}, {term: 'する', source: 'しない', rule: 'vs', reasons: ['negative']}, - {term: 'する', source: 'しません', rule: 'vs', reasons: ['polite negative']}, + {term: 'する', source: 'しません', rule: 'vs', reasons: ['polite', 'negative']}, {term: 'する', source: 'しなかった', rule: 'vs', reasons: ['negative', 'past']}, - {term: 'する', source: 'しませんでした', rule: 'vs', reasons: ['polite past negative']}, + {term: 'する', source: 'しませんでした', rule: 'vs', reasons: ['polite', 'negative', 'past']}, {term: 'する', source: 'しなくて', rule: 'vs', reasons: ['negative', '-te']}, {term: 'する', source: 'せられない', rule: 'vs', reasons: ['potential or passive', 'negative']}, {term: 'する', source: 'されない', rule: 'vs', reasons: ['passive', 'negative']}, @@ -661,6 +672,7 @@ function testDeinflections() { {term: 'する', source: 'させられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']}, {term: 'する', source: 'せさせられない', rule: 'vs', reasons: ['causative', 'potential or passive', 'negative']}, {term: 'する', source: 'するな', rule: 'vs', reasons: ['imperative negative']}, + {term: 'する', source: 'しまして', rule: 'vs', reasons: ['polite', '-te']}, {term: 'する', source: 'すれば', rule: 'vs', reasons: ['-ba']}, {term: 'する', source: 'しちゃう', rule: 'vs', reasons: ['-chau']}, @@ -676,7 +688,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: 'する', source: 'しよう', rule: 'vs', reasons: ['volitional']}, // ['causative passive'] {term: 'する', source: 'しとく', rule: 'vs', reasons: ['-toku']}, @@ -689,7 +701,7 @@ function testDeinflections() { {term: '来る', source: '来る', rule: 'vk', reasons: []}, {term: '来る', source: '来ます', rule: 'vk', reasons: ['polite']}, {term: '来る', source: '来た', rule: 'vk', reasons: ['past']}, - {term: '来る', source: '来ました', rule: 'vk', reasons: ['polite past']}, + {term: '来る', source: '来ました', rule: 'vk', reasons: ['polite', 'past']}, {term: '来る', source: '来て', rule: 'vk', reasons: ['-te']}, {term: '来る', source: '来られる', rule: 'vk', reasons: ['potential or passive']}, {term: '来る', source: '来られる', rule: 'vk', reasons: ['potential or passive']}, @@ -697,15 +709,16 @@ function testDeinflections() { {term: '来る', source: '来させられる', rule: 'vk', reasons: ['causative', 'potential or passive']}, {term: '来る', source: '来い', rule: 'vk', reasons: ['imperative']}, {term: '来る', source: '来ない', rule: 'vk', reasons: ['negative']}, - {term: '来る', source: '来ません', rule: 'vk', reasons: ['polite negative']}, + {term: '来る', source: '来ません', rule: 'vk', reasons: ['polite', 'negative']}, {term: '来る', source: '来なかった', rule: 'vk', reasons: ['negative', 'past']}, - {term: '来る', source: '来ませんでした', rule: 'vk', reasons: ['polite past negative']}, + {term: '来る', source: '来ませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, {term: '来る', source: '来なくて', rule: 'vk', reasons: ['negative', '-te']}, {term: '来る', source: '来られない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: '来る', source: '来られない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: '来る', source: '来させない', rule: 'vk', reasons: ['causative', 'negative']}, {term: '来る', source: '来させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']}, {term: '来る', source: '来るな', rule: 'vk', reasons: ['imperative negative']}, + {term: '来る', source: '来まして', rule: 'vk', reasons: ['polite', '-te']}, {term: '来る', source: '来れば', rule: 'vk', reasons: ['-ba']}, {term: '来る', source: '来ちゃう', rule: 'vk', reasons: ['-chau']}, @@ -721,7 +734,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '来る', source: '来よう', rule: 'vk', reasons: ['volitional']}, // ['causative passive'] {term: '来る', source: '来とく', rule: 'vk', reasons: ['-toku']}, @@ -734,7 +747,7 @@ function testDeinflections() { {term: '來る', source: '來る', rule: 'vk', reasons: []}, {term: '來る', source: '來ます', rule: 'vk', reasons: ['polite']}, {term: '來る', source: '來た', rule: 'vk', reasons: ['past']}, - {term: '來る', source: '來ました', rule: 'vk', reasons: ['polite past']}, + {term: '來る', source: '來ました', rule: 'vk', reasons: ['polite', 'past']}, {term: '來る', source: '來て', rule: 'vk', reasons: ['-te']}, {term: '來る', source: '來られる', rule: 'vk', reasons: ['potential or passive']}, {term: '來る', source: '來られる', rule: 'vk', reasons: ['potential or passive']}, @@ -742,15 +755,16 @@ function testDeinflections() { {term: '來る', source: '來させられる', rule: 'vk', reasons: ['causative', 'potential or passive']}, {term: '來る', source: '來い', rule: 'vk', reasons: ['imperative']}, {term: '來る', source: '來ない', rule: 'vk', reasons: ['negative']}, - {term: '來る', source: '來ません', rule: 'vk', reasons: ['polite negative']}, + {term: '來る', source: '來ません', rule: 'vk', reasons: ['polite', 'negative']}, {term: '來る', source: '來なかった', rule: 'vk', reasons: ['negative', 'past']}, - {term: '來る', source: '來ませんでした', rule: 'vk', reasons: ['polite past negative']}, + {term: '來る', source: '來ませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, {term: '來る', source: '來なくて', rule: 'vk', reasons: ['negative', '-te']}, {term: '來る', source: '來られない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: '來る', source: '來られない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: '來る', source: '來させない', rule: 'vk', reasons: ['causative', 'negative']}, {term: '來る', source: '來させられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']}, {term: '來る', source: '來るな', rule: 'vk', reasons: ['imperative negative']}, + {term: '來る', source: '來まして', rule: 'vk', reasons: ['polite', '-te']}, {term: '來る', source: '來れば', rule: 'vk', reasons: ['-ba']}, {term: '來る', source: '來ちゃう', rule: 'vk', reasons: ['-chau']}, @@ -766,7 +780,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '來る', source: '來よう', rule: 'vk', reasons: ['volitional']}, // ['causative passive'] {term: '來る', source: '來とく', rule: 'vk', reasons: ['-toku']}, @@ -779,7 +793,7 @@ function testDeinflections() { {term: 'くる', source: 'くる', rule: 'vk', reasons: []}, {term: 'くる', source: 'きます', rule: 'vk', reasons: ['polite']}, {term: 'くる', source: 'きた', rule: 'vk', reasons: ['past']}, - {term: 'くる', source: 'きました', rule: 'vk', reasons: ['polite past']}, + {term: 'くる', source: 'きました', rule: 'vk', reasons: ['polite', 'past']}, {term: 'くる', source: 'きて', rule: 'vk', reasons: ['-te']}, {term: 'くる', source: 'こられる', rule: 'vk', reasons: ['potential or passive']}, {term: 'くる', source: 'こられる', rule: 'vk', reasons: ['potential or passive']}, @@ -787,15 +801,16 @@ function testDeinflections() { {term: 'くる', source: 'こさせられる', rule: 'vk', reasons: ['causative', 'potential or passive']}, {term: 'くる', source: 'こい', rule: 'vk', reasons: ['imperative']}, {term: 'くる', source: 'こない', rule: 'vk', reasons: ['negative']}, - {term: 'くる', source: 'きません', rule: 'vk', reasons: ['polite negative']}, + {term: 'くる', source: 'きません', rule: 'vk', reasons: ['polite', 'negative']}, {term: 'くる', source: 'こなかった', rule: 'vk', reasons: ['negative', 'past']}, - {term: 'くる', source: 'きませんでした', rule: 'vk', reasons: ['polite past negative']}, + {term: 'くる', source: 'きませんでした', rule: 'vk', reasons: ['polite', 'negative', 'past']}, {term: 'くる', source: 'こなくて', rule: 'vk', reasons: ['negative', '-te']}, {term: 'くる', source: 'こられない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: 'くる', source: 'こられない', rule: 'vk', reasons: ['potential or passive', 'negative']}, {term: 'くる', source: 'こさせない', rule: 'vk', reasons: ['causative', 'negative']}, {term: 'くる', source: 'こさせられない', rule: 'vk', reasons: ['causative', 'potential or passive', 'negative']}, {term: 'くる', source: 'くるな', rule: 'vk', reasons: ['imperative negative']}, + {term: 'くる', source: 'きまして', rule: 'vk', reasons: ['polite', '-te']}, {term: 'くる', source: 'くれば', rule: 'vk', reasons: ['-ba']}, {term: 'くる', source: 'きちゃう', rule: 'vk', reasons: ['-chau']}, @@ -811,7 +826,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: 'くる', source: 'こよう', rule: 'vk', reasons: ['volitional']}, // ['causative passive'] {term: 'くる', source: 'きとく', rule: 'vk', reasons: ['-toku']}, @@ -829,7 +844,7 @@ function testDeinflections() { {term: '論ずる', source: '論ずる', rule: 'vz', reasons: []}, {term: '論ずる', source: '論じます', rule: 'vz', reasons: ['polite']}, {term: '論ずる', source: '論じた', rule: 'vz', reasons: ['past']}, - {term: '論ずる', source: '論じました', rule: 'vz', reasons: ['polite past']}, + {term: '論ずる', source: '論じました', rule: 'vz', reasons: ['polite', 'past']}, {term: '論ずる', source: '論じて', rule: 'vz', reasons: ['-te']}, {term: '論ずる', source: '論ぜられる', rule: 'vz', reasons: ['potential or passive']}, {term: '論ずる', source: '論ざれる', rule: 'vz', reasons: ['potential or passive']}, @@ -841,9 +856,9 @@ function testDeinflections() { {term: '論ずる', source: '論ぜさせられる', rule: 'vz', reasons: ['causative', 'potential or passive']}, {term: '論ずる', source: '論じろ', rule: 'vz', reasons: ['imperative']}, {term: '論ずる', source: '論じない', rule: 'vz', reasons: ['negative']}, - {term: '論ずる', source: '論じません', rule: 'vz', reasons: ['polite negative']}, + {term: '論ずる', source: '論じません', rule: 'vz', reasons: ['polite', 'negative']}, {term: '論ずる', source: '論じなかった', rule: 'vz', reasons: ['negative', 'past']}, - {term: '論ずる', source: '論じませんでした', rule: 'vz', reasons: ['polite past negative']}, + {term: '論ずる', source: '論じませんでした', rule: 'vz', reasons: ['polite', 'negative', 'past']}, {term: '論ずる', source: '論じなくて', rule: 'vz', reasons: ['negative', '-te']}, {term: '論ずる', source: '論ぜられない', rule: 'vz', reasons: ['potential or passive', 'negative']}, {term: '論ずる', source: '論じされない', rule: 'vz', reasons: ['passive', 'negative']}, @@ -853,6 +868,7 @@ function testDeinflections() { {term: '論ずる', source: '論じさせられない', rule: 'vz', reasons: ['causative', 'potential or passive', 'negative']}, {term: '論ずる', source: '論ぜさせられない', rule: 'vz', reasons: ['causative', 'potential or passive', 'negative']}, {term: '論ずる', source: '論ずるな', rule: 'vz', reasons: ['imperative negative']}, + {term: '論ずる', source: '論じまして', rule: 'vz', reasons: ['polite', '-te']}, {term: '論ずる', source: '論ずれば', rule: 'vz', reasons: ['-ba']}, {term: '論ずる', source: '論じちゃう', rule: 'vz', reasons: ['-chau']}, @@ -868,7 +884,7 @@ function testDeinflections() { {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: ['polite', 'volitional']}, {term: '論ずる', source: '論じよう', rule: 'vz', reasons: ['volitional']}, // ['causative passive'] {term: '論ずる', source: '論じとく', rule: 'vz', reasons: ['-toku']}, @@ -1044,7 +1060,7 @@ function testDeinflections() { tests: [ {term: '抱き抱える', source: '抱き抱えていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']}, {term: '抱きかかえる', source: '抱きかかえていなければ', rule: 'v1', reasons: ['-te', 'progressive or perfect', 'negative', '-ba']}, - {term: '打ち込む', source: '打ち込んでいませんでした', rule: 'v5', reasons: ['-te', 'progressive or perfect', 'polite past negative']}, + {term: '打ち込む', source: '打ち込んでいませんでした', rule: 'v5', reasons: ['-te', 'progressive or perfect', 'polite', 'negative', 'past']}, {term: '食べる', source: '食べさせられたくなかった', rule: 'v1', reasons: ['causative', 'potential or passive', '-tai', 'negative', 'past']} ] },