use super::{r, InflectionRules, Reasons, Rules};
pub const INFLECTION_RULES: &[InflectionRules] = &[
InflectionRules {
reason: Reasons::POLITE_PAST_NEGATIVE,
rules: &[
r("くありませんでした", "い", Rules::empty(), Rules::ADJ_I),
r("ませんでした", "る", Rules::empty(), Rules::V1),
r("いませんでした", "う", Rules::empty(), Rules::V5),
r("きませんでした", "く", Rules::empty(), Rules::V5),
r("ぎませんでした", "ぐ", Rules::empty(), Rules::V5),
r("しませんでした", "す", Rules::empty(), Rules::V5),
r("ちませんでした", "つ", Rules::empty(), Rules::V5),
r("にませんでした", "ぬ", Rules::empty(), Rules::V5),
r("びませんでした", "ぶ", Rules::empty(), Rules::V5),
r("みませんでした", "む", Rules::empty(), Rules::V5),
r("りませんでした", "る", Rules::empty(), Rules::V5),
r("じませんでした", "ずる", Rules::empty(), Rules::VZ),
r("しませんでした", "する", Rules::empty(), Rules::VS),
r("為ませんでした", "為る", Rules::empty(), Rules::VS),
r("きませんでした", "くる", Rules::empty(), Rules::VK),
r("来ませんでした", "来る", Rules::empty(), Rules::VK),
r("來ませんでした", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::TAI,
rules: &[
r("たい", "る", Rules::ADJ_I, Rules::V1),
r("いたい", "う", Rules::ADJ_I, Rules::V5),
r("きたい", "く", Rules::ADJ_I, Rules::V5),
r("ぎたい", "ぐ", Rules::ADJ_I, Rules::V5),
r("したい", "す", Rules::ADJ_I, Rules::V5),
r("ちたい", "つ", Rules::ADJ_I, Rules::V5),
r("にたい", "ぬ", Rules::ADJ_I, Rules::V5),
r("びたい", "ぶ", Rules::ADJ_I, Rules::V5),
r("みたい", "む", Rules::ADJ_I, Rules::V5),
r("りたい", "る", Rules::ADJ_I, Rules::V5),
r("じたい", "ずる", Rules::ADJ_I, Rules::VZ),
r("したい", "する", Rules::ADJ_I, Rules::VS),
r("為たい", "為る", Rules::ADJ_I, Rules::VS),
r("きたい", "くる", Rules::ADJ_I, Rules::VK),
r("来たい", "来る", Rules::ADJ_I, Rules::VK),
r("來たい", "來る", Rules::ADJ_I, Rules::VK),
],
},
InflectionRules {
reason: Reasons::PASSIVE,
rules: &[
r("かれる", "く", Rules::V1, Rules::V5),
r("がれる", "ぐ", Rules::V1, Rules::V5),
r("される", "す", Rules::V1, Rules::V5),
r("たれる", "つ", Rules::V1, Rules::V5),
r("なれる", "ぬ", Rules::V1, Rules::V5),
r("ばれる", "ぶ", Rules::V1, Rules::V5),
r("まれる", "む", Rules::V1, Rules::V5),
r("われる", "う", Rules::V1, Rules::V5),
r("られる", "る", Rules::V1, Rules::V5),
r("じされる", "ずる", Rules::V1, Rules::VZ),
r("ぜされる", "ずる", Rules::V1, Rules::VZ),
r("される", "する", Rules::V1, Rules::VS),
r("為れる", "為る", Rules::V1, Rules::VS),
r("こられる", "くる", Rules::V1, Rules::VK),
r("来られる", "来る", Rules::V1, Rules::VK),
r("來られる", "來る", Rules::V1, Rules::VK),
],
},
InflectionRules {
reason: Reasons::TOKU,
rules: &[
r("とく", "る", Rules::V5, Rules::V1),
r("いとく", "く", Rules::V5, Rules::V5),
r("いどく", "ぐ", Rules::V5, Rules::V5),
r("しとく", "す", Rules::V5, Rules::V5),
r("っとく", "う", Rules::V5, Rules::V5),
r("っとく", "つ", Rules::V5, Rules::V5),
r("っとく", "る", Rules::V5, Rules::V5),
r("んどく", "ぬ", Rules::V5, Rules::V5),
r("んどく", "ぶ", Rules::V5, Rules::V5),
r("んどく", "む", Rules::V5, Rules::V5),
r("じとく", "ずる", Rules::V5, Rules::VZ),
r("しとく", "する", Rules::V5, Rules::VS),
r("為とく", "為る", Rules::V5, Rules::VS),
r("きとく", "くる", Rules::V5, Rules::VK),
r("来とく", "来る", Rules::V5, Rules::VK),
r("來とく", "來る", Rules::V5, Rules::VK),
],
},
InflectionRules {
reason: Reasons::GE,
rules: &[r("しげ", "しい", Rules::empty(), Rules::ADJ_I)],
},
InflectionRules {
reason: Reasons::NASAI,
rules: &[
r("なさい", "る", Rules::empty(), Rules::V1),
r("いなさい", "う", Rules::empty(), Rules::V5),
r("きなさい", "く", Rules::empty(), Rules::V5),
r("ぎなさい", "ぐ", Rules::empty(), Rules::V5),
r("しなさい", "す", Rules::empty(), Rules::V5),
r("ちなさい", "つ", Rules::empty(), Rules::V5),
r("になさい", "ぬ", Rules::empty(), Rules::V5),
r("びなさい", "ぶ", Rules::empty(), Rules::V5),
r("みなさい", "む", Rules::empty(), Rules::V5),
r("りなさい", "る", Rules::empty(), Rules::V5),
r("じなさい", "ずる", Rules::empty(), Rules::VZ),
r("しなさい", "する", Rules::empty(), Rules::VS),
r("為なさい", "為る", Rules::empty(), Rules::VS),
r("きなさい", "くる", Rules::empty(), Rules::VK),
r("来なさい", "来る", Rules::empty(), Rules::VK),
r("來なさい", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::PAST,
rules: &[
r("かった", "い", Rules::empty(), Rules::ADJ_I),
r("た", "る", Rules::empty(), Rules::V1),
r("いた", "く", Rules::empty(), Rules::V5),
r("いだ", "ぐ", Rules::empty(), Rules::V5),
r("した", "す", Rules::empty(), Rules::V5),
r("った", "う", Rules::empty(), Rules::V5),
r("った", "つ", Rules::empty(), Rules::V5),
r("った", "る", Rules::empty(), Rules::V5),
r("んだ", "ぬ", Rules::empty(), Rules::V5),
r("んだ", "ぶ", Rules::empty(), Rules::V5),
r("んだ", "む", Rules::empty(), Rules::V5),
r("じた", "ずる", Rules::empty(), Rules::VZ),
r("した", "する", Rules::empty(), Rules::VS),
r("為た", "為る", Rules::empty(), Rules::VS),
r("きた", "くる", Rules::empty(), Rules::VK),
r("来た", "来る", Rules::empty(), Rules::VK),
r("來た", "來る", Rules::empty(), Rules::VK),
r("いった", "いく", Rules::empty(), Rules::V5),
r("おうた", "おう", Rules::empty(), Rules::V5),
r("こうた", "こう", Rules::empty(), Rules::V5),
r("そうた", "そう", Rules::empty(), Rules::V5),
r("とうた", "とう", Rules::empty(), Rules::V5),
r("行った", "行く", Rules::empty(), Rules::V5),
r("逝った", "逝く", Rules::empty(), Rules::V5),
r("往った", "往く", Rules::empty(), Rules::V5),
r("請うた", "請う", Rules::empty(), Rules::V5),
r("乞うた", "乞う", Rules::empty(), Rules::V5),
r("恋うた", "恋う", Rules::empty(), Rules::V5),
r("問うた", "問う", Rules::empty(), Rules::V5),
r("負うた", "負う", Rules::empty(), Rules::V5),
r("沿うた", "沿う", Rules::empty(), Rules::V5),
r("添うた", "添う", Rules::empty(), Rules::V5),
r("副うた", "副う", Rules::empty(), Rules::V5),
r("厭うた", "厭う", Rules::empty(), Rules::V5),
r("のたもうた", "のたまう", Rules::empty(), Rules::V5),
],
},
InflectionRules {
reason: Reasons::TARI,
rules: &[
r("かったり", "い", Rules::empty(), Rules::ADJ_I),
r("たり", "る", Rules::empty(), Rules::V1),
r("いたり", "く", Rules::empty(), Rules::V5),
r("いだり", "ぐ", Rules::empty(), Rules::V5),
r("したり", "す", Rules::empty(), Rules::V5),
r("ったり", "う", Rules::empty(), Rules::V5),
r("ったり", "つ", Rules::empty(), Rules::V5),
r("ったり", "る", Rules::empty(), Rules::V5),
r("んだり", "ぬ", Rules::empty(), Rules::V5),
r("んだり", "ぶ", Rules::empty(), Rules::V5),
r("んだり", "む", Rules::empty(), Rules::V5),
r("じたり", "ずる", Rules::empty(), Rules::VZ),
r("したり", "する", Rules::empty(), Rules::VS),
r("為たり", "為る", Rules::empty(), Rules::VS),
r("きたり", "くる", Rules::empty(), Rules::VK),
r("来たり", "来る", Rules::empty(), Rules::VK),
r("來たり", "來る", Rules::empty(), Rules::VK),
r("いったり", "いく", Rules::empty(), Rules::V5),
r("おうたり", "おう", Rules::empty(), Rules::V5),
r("こうたり", "こう", Rules::empty(), Rules::V5),
r("そうたり", "そう", Rules::empty(), Rules::V5),
r("とうたり", "とう", Rules::empty(), Rules::V5),
r("行ったり", "行く", Rules::empty(), Rules::V5),
r("逝ったり", "逝く", Rules::empty(), Rules::V5),
r("往ったり", "往く", Rules::empty(), Rules::V5),
r("請うたり", "請う", Rules::empty(), Rules::V5),
r("乞うたり", "乞う", Rules::empty(), Rules::V5),
r("恋うたり", "恋う", Rules::empty(), Rules::V5),
r("問うたり", "問う", Rules::empty(), Rules::V5),
r("負うたり", "負う", Rules::empty(), Rules::V5),
r("沿うたり", "沿う", Rules::empty(), Rules::V5),
r("添うたり", "添う", Rules::empty(), Rules::V5),
r("副うたり", "副う", Rules::empty(), Rules::V5),
r("厭うたり", "厭う", Rules::empty(), Rules::V5),
r("のたもうたり", "のたまう", Rules::empty(), Rules::V5),
],
},
InflectionRules {
reason: Reasons::VOLITIONAL,
rules: &[
r("よう", "る", Rules::empty(), Rules::V1),
r("おう", "う", Rules::empty(), Rules::V5),
r("こう", "く", Rules::empty(), Rules::V5),
r("ごう", "ぐ", Rules::empty(), Rules::V5),
r("そう", "す", Rules::empty(), Rules::V5),
r("とう", "つ", Rules::empty(), Rules::V5),
r("のう", "ぬ", Rules::empty(), Rules::V5),
r("ぼう", "ぶ", Rules::empty(), Rules::V5),
r("もう", "む", Rules::empty(), Rules::V5),
r("ろう", "る", Rules::empty(), Rules::V5),
r("じよう", "ずる", Rules::empty(), Rules::VZ),
r("しよう", "する", Rules::empty(), Rules::VS),
r("為よう", "為る", Rules::empty(), Rules::VS),
r("こよう", "くる", Rules::empty(), Rules::VK),
r("来よう", "来る", Rules::empty(), Rules::VK),
r("來よう", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::CHAU,
rules: &[
r("ちゃう", "る", Rules::V5, Rules::V1),
r("いじゃう", "ぐ", Rules::V5, Rules::V5),
r("いちゃう", "く", Rules::V5, Rules::V5),
r("しちゃう", "す", Rules::V5, Rules::V5),
r("っちゃう", "う", Rules::V5, Rules::V5),
r("っちゃう", "く", Rules::V5, Rules::V5),
r("っちゃう", "つ", Rules::V5, Rules::V5),
r("っちゃう", "る", Rules::V5, Rules::V5),
r("んじゃう", "ぬ", Rules::V5, Rules::V5),
r("んじゃう", "ぶ", Rules::V5, Rules::V5),
r("んじゃう", "む", Rules::V5, Rules::V5),
r("じちゃう", "ずる", Rules::V5, Rules::VZ),
r("しちゃう", "する", Rules::V5, Rules::VS),
r("為ちゃう", "為る", Rules::V5, Rules::VS),
r("きちゃう", "くる", Rules::V5, Rules::VK),
r("来ちゃう", "来る", Rules::V5, Rules::VK),
r("來ちゃう", "來る", Rules::V5, Rules::VK),
],
},
InflectionRules {
reason: Reasons::TE,
rules: &[
r("くて", "い", Rules::IRU, Rules::ADJ_I),
r("て", "る", Rules::IRU, Rules::V1),
r("いて", "く", Rules::IRU, Rules::V5),
r("いで", "ぐ", Rules::IRU, Rules::V5),
r("して", "す", Rules::IRU, Rules::V5),
r("って", "う", Rules::IRU, Rules::V5),
r("って", "つ", Rules::IRU, Rules::V5),
r("って", "る", Rules::IRU, Rules::V5),
r("んで", "ぬ", Rules::IRU, Rules::V5),
r("んで", "ぶ", Rules::IRU, Rules::V5),
r("んで", "む", Rules::IRU, Rules::V5),
r("じて", "ずる", Rules::IRU, Rules::VZ),
r("して", "する", Rules::IRU, Rules::VS),
r("為て", "為る", Rules::IRU, Rules::VS),
r("きて", "くる", Rules::IRU, Rules::VK),
r("来て", "来る", Rules::IRU, Rules::VK),
r("來て", "來る", Rules::IRU, Rules::VK),
r("いって", "いく", Rules::IRU, Rules::V5),
r("おうて", "おう", Rules::IRU, Rules::V5),
r("こうて", "こう", Rules::IRU, Rules::V5),
r("そうて", "そう", Rules::IRU, Rules::V5),
r("とうて", "とう", Rules::IRU, Rules::V5),
r("行って", "行く", Rules::IRU, Rules::V5),
r("逝って", "逝く", Rules::IRU, Rules::V5),
r("往って", "往く", Rules::IRU, Rules::V5),
r("請うて", "請う", Rules::IRU, Rules::V5),
r("乞うて", "乞う", Rules::IRU, Rules::V5),
r("恋うて", "恋う", Rules::IRU, Rules::V5),
r("問うて", "問う", Rules::IRU, Rules::V5),
r("負うて", "負う", Rules::IRU, Rules::V5),
r("沿うて", "沿う", Rules::IRU, Rules::V5),
r("添うて", "添う", Rules::IRU, Rules::V5),
r("副うて", "副う", Rules::IRU, Rules::V5),
r("厭うて", "厭う", Rules::IRU, Rules::V5),
r("のたもうて", "のたまう", Rules::IRU, Rules::V5),
],
},
InflectionRules {
reason: Reasons::MASU_STEM,
rules: &[
r("い", "いる", Rules::empty(), Rules::V1),
r("え", "える", Rules::empty(), Rules::V1),
r("き", "きる", Rules::empty(), Rules::V1),
r("ぎ", "ぎる", Rules::empty(), Rules::V1),
r("け", "ける", Rules::empty(), Rules::V1),
r("げ", "げる", Rules::empty(), Rules::V1),
r("じ", "じる", Rules::empty(), Rules::V1),
r("せ", "せる", Rules::empty(), Rules::V1),
r("ぜ", "ぜる", Rules::empty(), Rules::V1),
r("ち", "ちる", Rules::empty(), Rules::V1),
r("て", "てる", Rules::empty(), Rules::V1),
r("で", "でる", Rules::empty(), Rules::V1),
r("に", "にる", Rules::empty(), Rules::V1),
r("ね", "ねる", Rules::empty(), Rules::V1),
r("ひ", "ひる", Rules::empty(), Rules::V1),
r("び", "びる", Rules::empty(), Rules::V1),
r("へ", "へる", Rules::empty(), Rules::V1),
r("べ", "べる", Rules::empty(), Rules::V1),
r("み", "みる", Rules::empty(), Rules::V1),
r("め", "める", Rules::empty(), Rules::V1),
r("り", "りる", Rules::empty(), Rules::V1),
r("れ", "れる", Rules::empty(), Rules::V1),
r("い", "う", Rules::empty(), Rules::V5),
r("き", "く", Rules::empty(), Rules::V5),
r("ぎ", "ぐ", Rules::empty(), Rules::V5),
r("し", "す", Rules::empty(), Rules::V5),
r("ち", "つ", Rules::empty(), Rules::V5),
r("に", "ぬ", Rules::empty(), Rules::V5),
r("び", "ぶ", Rules::empty(), Rules::V5),
r("み", "む", Rules::empty(), Rules::V5),
r("り", "る", Rules::empty(), Rules::V5),
r("き", "くる", Rules::empty(), Rules::VK),
r("来", "来る", Rules::empty(), Rules::VK),
r("來", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::POLITE_NEGATIVE,
rules: &[
r("くありません", "い", Rules::empty(), Rules::ADJ_I),
r("ません", "る", Rules::empty(), Rules::V1),
r("いません", "う", Rules::empty(), Rules::V5),
r("きません", "く", Rules::empty(), Rules::V5),
r("ぎません", "ぐ", Rules::empty(), Rules::V5),
r("しません", "す", Rules::empty(), Rules::V5),
r("ちません", "つ", Rules::empty(), Rules::V5),
r("にません", "ぬ", Rules::empty(), Rules::V5),
r("びません", "ぶ", Rules::empty(), Rules::V5),
r("みません", "む", Rules::empty(), Rules::V5),
r("りません", "る", Rules::empty(), Rules::V5),
r("じません", "ずる", Rules::empty(), Rules::VZ),
r("しません", "する", Rules::empty(), Rules::VS),
r("為ません", "為る", Rules::empty(), Rules::VS),
r("きません", "くる", Rules::empty(), Rules::VK),
r("来ません", "来る", Rules::empty(), Rules::VK),
r("來ません", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::BA,
rules: &[
r("ければ", "い", Rules::empty(), Rules::ADJ_I),
r("えば", "う", Rules::empty(), Rules::V5),
r("けば", "く", Rules::empty(), Rules::V5),
r("げば", "ぐ", Rules::empty(), Rules::V5),
r("せば", "す", Rules::empty(), Rules::V5),
r("てば", "つ", Rules::empty(), Rules::V5),
r("ねば", "ぬ", Rules::empty(), Rules::V5),
r("べば", "ぶ", Rules::empty(), Rules::V5),
r("めば", "む", Rules::empty(), Rules::V5),
r(
"れば",
"る",
Rules::empty(),
Rules::from_bits_retain(
Rules::V1.bits()
| Rules::V5.bits()
| Rules::VK.bits()
| Rules::VS.bits()
| Rules::VZ.bits(),
),
),
],
},
InflectionRules {
reason: Reasons::POTENTIAL,
rules: &[
r(
"れる",
"る",
Rules::V1,
Rules::from_bits_retain(Rules::V1.bits() | Rules::V5.bits()),
),
r("える", "う", Rules::V1, Rules::V5),
r("ける", "く", Rules::V1, Rules::V5),
r("げる", "ぐ", Rules::V1, Rules::V5),
r("せる", "す", Rules::V1, Rules::V5),
r("てる", "つ", Rules::V1, Rules::V5),
r("ねる", "ぬ", Rules::V1, Rules::V5),
r("べる", "ぶ", Rules::V1, Rules::V5),
r("める", "む", Rules::V1, Rules::V5),
r("これる", "くる", Rules::V1, Rules::VK),
r("来れる", "来る", Rules::V1, Rules::VK),
r("來れる", "來る", Rules::V1, Rules::VK),
],
},
InflectionRules {
reason: Reasons::PROGRESSIVE_OR_PERFECT,
rules: &[
r("ている", "て", Rules::V1, Rules::IRU),
r("ておる", "て", Rules::V5, Rules::IRU),
r("てる", "て", Rules::V1, Rules::IRU),
r("でいる", "で", Rules::V1, Rules::IRU),
r("でおる", "で", Rules::V5, Rules::IRU),
r("でる", "で", Rules::V1, Rules::IRU),
r("とる", "て", Rules::V5, Rules::IRU),
r("ないでいる", "ない", Rules::V1, Rules::ADJ_I),
],
},
InflectionRules {
reason: Reasons::IMPERATIVE_NEGATIVE,
rules: &[r(
"な",
"",
Rules::empty(),
Rules::from_bits_retain(
Rules::V1.bits()
| Rules::V5.bits()
| Rules::VK.bits()
| Rules::VS.bits()
| Rules::VZ.bits(),
),
)],
},
InflectionRules {
reason: Reasons::CHIMAU,
rules: &[
r("ちまう", "る", Rules::V5, Rules::V1),
r("いじまう", "ぐ", Rules::V5, Rules::V5),
r("いちまう", "く", Rules::V5, Rules::V5),
r("しちまう", "す", Rules::V5, Rules::V5),
r("っちまう", "う", Rules::V5, Rules::V5),
r("っちまう", "く", Rules::V5, Rules::V5),
r("っちまう", "つ", Rules::V5, Rules::V5),
r("っちまう", "る", Rules::V5, Rules::V5),
r("んじまう", "ぬ", Rules::V5, Rules::V5),
r("んじまう", "ぶ", Rules::V5, Rules::V5),
r("んじまう", "む", Rules::V5, Rules::V5),
r("じちまう", "ずる", Rules::V5, Rules::VZ),
r("しちまう", "する", Rules::V5, Rules::VS),
r("為ちまう", "為る", Rules::V5, Rules::VS),
r("きちまう", "くる", Rules::V5, Rules::VK),
r("来ちまう", "来る", Rules::V5, Rules::VK),
r("來ちまう", "來る", Rules::V5, Rules::VK),
],
},
InflectionRules {
reason: Reasons::SUGIRU,
rules: &[
r("すぎる", "い", Rules::V1, Rules::ADJ_I),
r("すぎる", "る", Rules::V1, Rules::V1),
r("いすぎる", "う", Rules::V1, Rules::V5),
r("きすぎる", "く", Rules::V1, Rules::V5),
r("ぎすぎる", "ぐ", Rules::V1, Rules::V5),
r("しすぎる", "す", Rules::V1, Rules::V5),
r("ちすぎる", "つ", Rules::V1, Rules::V5),
r("にすぎる", "ぬ", Rules::V1, Rules::V5),
r("びすぎる", "ぶ", Rules::V1, Rules::V5),
r("みすぎる", "む", Rules::V1, Rules::V5),
r("りすぎる", "る", Rules::V1, Rules::V5),
r("じすぎる", "ずる", Rules::V1, Rules::VZ),
r("しすぎる", "する", Rules::V1, Rules::VS),
r("為すぎる", "為る", Rules::V1, Rules::VS),
r("きすぎる", "くる", Rules::V1, Rules::VK),
r("来すぎる", "来る", Rules::V1, Rules::VK),
r("來すぎる", "來る", Rules::V1, Rules::VK),
],
},
InflectionRules {
reason: Reasons::NEGATIVE,
rules: &[
r("くない", "い", Rules::ADJ_I, Rules::ADJ_I),
r("ない", "る", Rules::ADJ_I, Rules::V1),
r("かない", "く", Rules::ADJ_I, Rules::V5),
r("がない", "ぐ", Rules::ADJ_I, Rules::V5),
r("さない", "す", Rules::ADJ_I, Rules::V5),
r("たない", "つ", Rules::ADJ_I, Rules::V5),
r("なない", "ぬ", Rules::ADJ_I, Rules::V5),
r("ばない", "ぶ", Rules::ADJ_I, Rules::V5),
r("まない", "む", Rules::ADJ_I, Rules::V5),
r("らない", "る", Rules::ADJ_I, Rules::V5),
r("わない", "う", Rules::ADJ_I, Rules::V5),
r("じない", "ずる", Rules::ADJ_I, Rules::VZ),
r("しない", "する", Rules::ADJ_I, Rules::VS),
r("為ない", "為る", Rules::ADJ_I, Rules::VS),
r("こない", "くる", Rules::ADJ_I, Rules::VK),
r("来ない", "来る", Rules::ADJ_I, Rules::VK),
r("來ない", "來る", Rules::ADJ_I, Rules::VK),
],
},
InflectionRules {
reason: Reasons::TARA,
rules: &[
r("かったら", "い", Rules::empty(), Rules::ADJ_I),
r("たら", "る", Rules::empty(), Rules::V1),
r("いたら", "く", Rules::empty(), Rules::V5),
r("いだら", "ぐ", Rules::empty(), Rules::V5),
r("したら", "す", Rules::empty(), Rules::V5),
r("ったら", "う", Rules::empty(), Rules::V5),
r("ったら", "つ", Rules::empty(), Rules::V5),
r("ったら", "る", Rules::empty(), Rules::V5),
r("んだら", "ぬ", Rules::empty(), Rules::V5),
r("んだら", "ぶ", Rules::empty(), Rules::V5),
r("んだら", "む", Rules::empty(), Rules::V5),
r("じたら", "ずる", Rules::empty(), Rules::VZ),
r("したら", "する", Rules::empty(), Rules::VS),
r("為たら", "為る", Rules::empty(), Rules::VS),
r("きたら", "くる", Rules::empty(), Rules::VK),
r("来たら", "来る", Rules::empty(), Rules::VK),
r("來たら", "來る", Rules::empty(), Rules::VK),
r("いったら", "いく", Rules::empty(), Rules::V5),
r("おうたら", "おう", Rules::empty(), Rules::V5),
r("こうたら", "こう", Rules::empty(), Rules::V5),
r("そうたら", "そう", Rules::empty(), Rules::V5),
r("とうたら", "とう", Rules::empty(), Rules::V5),
r("行ったら", "行く", Rules::empty(), Rules::V5),
r("逝ったら", "逝く", Rules::empty(), Rules::V5),
r("往ったら", "往く", Rules::empty(), Rules::V5),
r("請うたら", "請う", Rules::empty(), Rules::V5),
r("乞うたら", "乞う", Rules::empty(), Rules::V5),
r("恋うたら", "恋う", Rules::empty(), Rules::V5),
r("問うたら", "問う", Rules::empty(), Rules::V5),
r("負うたら", "負う", Rules::empty(), Rules::V5),
r("沿うたら", "沿う", Rules::empty(), Rules::V5),
r("添うたら", "添う", Rules::empty(), Rules::V5),
r("副うたら", "副う", Rules::empty(), Rules::V5),
r("厭うたら", "厭う", Rules::empty(), Rules::V5),
r("のたもうたら", "のたまう", Rules::empty(), Rules::V5),
],
},
InflectionRules {
reason: Reasons::POLITE_VOLITIONAL,
rules: &[
r("ましょう", "る", Rules::empty(), Rules::V1),
r("いましょう", "う", Rules::empty(), Rules::V5),
r("きましょう", "く", Rules::empty(), Rules::V5),
r("ぎましょう", "ぐ", Rules::empty(), Rules::V5),
r("しましょう", "す", Rules::empty(), Rules::V5),
r("ちましょう", "つ", Rules::empty(), Rules::V5),
r("にましょう", "ぬ", Rules::empty(), Rules::V5),
r("びましょう", "ぶ", Rules::empty(), Rules::V5),
r("みましょう", "む", Rules::empty(), Rules::V5),
r("りましょう", "る", Rules::empty(), Rules::V5),
r("じましょう", "ずる", Rules::empty(), Rules::VZ),
r("しましょう", "する", Rules::empty(), Rules::VS),
r("為ましょう", "為る", Rules::empty(), Rules::VS),
r("きましょう", "くる", Rules::empty(), Rules::VK),
r("来ましょう", "来る", Rules::empty(), Rules::VK),
r("來ましょう", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::ZU,
rules: &[
r("ず", "る", Rules::empty(), Rules::V1),
r("かず", "く", Rules::empty(), Rules::V5),
r("がず", "ぐ", Rules::empty(), Rules::V5),
r("さず", "す", Rules::empty(), Rules::V5),
r("たず", "つ", Rules::empty(), Rules::V5),
r("なず", "ぬ", Rules::empty(), Rules::V5),
r("ばず", "ぶ", Rules::empty(), Rules::V5),
r("まず", "む", Rules::empty(), Rules::V5),
r("らず", "る", Rules::empty(), Rules::V5),
r("わず", "う", Rules::empty(), Rules::V5),
r("ぜず", "ずる", Rules::empty(), Rules::VZ),
r("せず", "する", Rules::empty(), Rules::VS),
r("為ず", "為る", Rules::empty(), Rules::VS),
r("こず", "くる", Rules::empty(), Rules::VK),
r("来ず", "来る", Rules::empty(), Rules::VK),
r("來ず", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::CAUSATIVE,
rules: &[
r("させる", "る", Rules::V1, Rules::V1),
r("かせる", "く", Rules::V1, Rules::V5),
r("がせる", "ぐ", Rules::V1, Rules::V5),
r("させる", "す", Rules::V1, Rules::V5),
r("たせる", "つ", Rules::V1, Rules::V5),
r("なせる", "ぬ", Rules::V1, Rules::V5),
r("ばせる", "ぶ", Rules::V1, Rules::V5),
r("ませる", "む", Rules::V1, Rules::V5),
r("らせる", "る", Rules::V1, Rules::V5),
r("わせる", "う", Rules::V1, Rules::V5),
r("じさせる", "ずる", Rules::V1, Rules::VZ),
r("ぜさせる", "ずる", Rules::V1, Rules::VZ),
r("させる", "する", Rules::V1, Rules::VS),
r("為せる", "為る", Rules::V1, Rules::VS),
r("せさせる", "する", Rules::V1, Rules::VS),
r("為させる", "為る", Rules::V1, Rules::VS),
r("こさせる", "くる", Rules::V1, Rules::VK),
r("来させる", "来る", Rules::V1, Rules::VK),
r("來させる", "來る", Rules::V1, Rules::VK),
],
},
InflectionRules {
reason: Reasons::POLITE,
rules: &[
r("ます", "る", Rules::empty(), Rules::V1),
r("います", "う", Rules::empty(), Rules::V5),
r("きます", "く", Rules::empty(), Rules::V5),
r("ぎます", "ぐ", Rules::empty(), Rules::V5),
r("します", "す", Rules::empty(), Rules::V5),
r("ちます", "つ", Rules::empty(), Rules::V5),
r("にます", "ぬ", Rules::empty(), Rules::V5),
r("びます", "ぶ", Rules::empty(), Rules::V5),
r("みます", "む", Rules::empty(), Rules::V5),
r("ります", "る", Rules::empty(), Rules::V5),
r("じます", "ずる", Rules::empty(), Rules::VZ),
r("します", "する", Rules::empty(), Rules::VS),
r("為ます", "為る", Rules::empty(), Rules::VS),
r("きます", "くる", Rules::empty(), Rules::VK),
r("来ます", "来る", Rules::empty(), Rules::VK),
r("來ます", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::KI,
rules: &[r("き", "い", Rules::empty(), Rules::ADJ_I)],
},
InflectionRules {
reason: Reasons::SOU,
rules: &[
r("そう", "い", Rules::empty(), Rules::ADJ_I),
r("そう", "る", Rules::empty(), Rules::V1),
r("いそう", "う", Rules::empty(), Rules::V5),
r("きそう", "く", Rules::empty(), Rules::V5),
r("ぎそう", "ぐ", Rules::empty(), Rules::V5),
r("しそう", "す", Rules::empty(), Rules::V5),
r("ちそう", "つ", Rules::empty(), Rules::V5),
r("にそう", "ぬ", Rules::empty(), Rules::V5),
r("びそう", "ぶ", Rules::empty(), Rules::V5),
r("みそう", "む", Rules::empty(), Rules::V5),
r("りそう", "る", Rules::empty(), Rules::V5),
r("じそう", "ずる", Rules::empty(), Rules::VZ),
r("しそう", "する", Rules::empty(), Rules::VS),
r("為そう", "為る", Rules::empty(), Rules::VS),
r("きそう", "くる", Rules::empty(), Rules::VK),
r("来そう", "来る", Rules::empty(), Rules::VK),
r("來そう", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::IMPERATIVE,
rules: &[
r("ろ", "る", Rules::empty(), Rules::V1),
r("よ", "る", Rules::empty(), Rules::V1),
r("え", "う", Rules::empty(), Rules::V5),
r("け", "く", Rules::empty(), Rules::V5),
r("げ", "ぐ", Rules::empty(), Rules::V5),
r("せ", "す", Rules::empty(), Rules::V5),
r("て", "つ", Rules::empty(), Rules::V5),
r("ね", "ぬ", Rules::empty(), Rules::V5),
r("べ", "ぶ", Rules::empty(), Rules::V5),
r("め", "む", Rules::empty(), Rules::V5),
r("れ", "る", Rules::empty(), Rules::V5),
r("じろ", "ずる", Rules::empty(), Rules::VZ),
r("ぜよ", "ずる", Rules::empty(), Rules::VZ),
r("しろ", "する", Rules::empty(), Rules::VS),
r("せよ", "する", Rules::empty(), Rules::VS),
r("為ろ", "為る", Rules::empty(), Rules::VS),
r("為よ", "為る", Rules::empty(), Rules::VS),
r("こい", "くる", Rules::empty(), Rules::VK),
r("来い", "来る", Rules::empty(), Rules::VK),
r("來い", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::E,
rules: &[
r("ねえ", "ない", Rules::empty(), Rules::ADJ_I),
r("めえ", "むい", Rules::empty(), Rules::ADJ_I),
r("みい", "むい", Rules::empty(), Rules::ADJ_I),
r("ちぇえ", "つい", Rules::empty(), Rules::ADJ_I),
r("ちい", "つい", Rules::empty(), Rules::ADJ_I),
r("せえ", "すい", Rules::empty(), Rules::ADJ_I),
r("ええ", "いい", Rules::empty(), Rules::ADJ_I),
r("ええ", "わい", Rules::empty(), Rules::ADJ_I),
r("ええ", "よい", Rules::empty(), Rules::ADJ_I),
r("いぇえ", "よい", Rules::empty(), Rules::ADJ_I),
r("うぇえ", "わい", Rules::empty(), Rules::ADJ_I),
r("けえ", "かい", Rules::empty(), Rules::ADJ_I),
r("げえ", "がい", Rules::empty(), Rules::ADJ_I),
r("げえ", "ごい", Rules::empty(), Rules::ADJ_I),
r("せえ", "さい", Rules::empty(), Rules::ADJ_I),
r("めえ", "まい", Rules::empty(), Rules::ADJ_I),
r("ぜえ", "ずい", Rules::empty(), Rules::ADJ_I),
r("っぜえ", "ずい", Rules::empty(), Rules::ADJ_I),
r("れえ", "らい", Rules::empty(), Rules::ADJ_I),
r("れえ", "らい", Rules::empty(), Rules::ADJ_I),
r("ちぇえ", "ちゃい", Rules::empty(), Rules::ADJ_I),
r("でえ", "どい", Rules::empty(), Rules::ADJ_I),
r("れえ", "れい", Rules::empty(), Rules::ADJ_I),
r("べえ", "ばい", Rules::empty(), Rules::ADJ_I),
],
},
InflectionRules {
reason: Reasons::NU,
rules: &[
r("ぬ", "る", Rules::empty(), Rules::V1),
r("かぬ", "く", Rules::empty(), Rules::V5),
r("がぬ", "ぐ", Rules::empty(), Rules::V5),
r("さぬ", "す", Rules::empty(), Rules::V5),
r("たぬ", "つ", Rules::empty(), Rules::V5),
r("なぬ", "ぬ", Rules::empty(), Rules::V5),
r("ばぬ", "ぶ", Rules::empty(), Rules::V5),
r("まぬ", "む", Rules::empty(), Rules::V5),
r("らぬ", "る", Rules::empty(), Rules::V5),
r("わぬ", "う", Rules::empty(), Rules::V5),
r("ぜぬ", "ずる", Rules::empty(), Rules::VZ),
r("せぬ", "する", Rules::empty(), Rules::VS),
r("為ぬ", "為る", Rules::empty(), Rules::VS),
r("こぬ", "くる", Rules::empty(), Rules::VK),
r("来ぬ", "来る", Rules::empty(), Rules::VK),
r("來ぬ", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::POTENTIAL_OR_PASSIVE,
rules: &[
r("られる", "る", Rules::V1, Rules::V1),
r("ざれる", "ずる", Rules::V1, Rules::VZ),
r("ぜられる", "ずる", Rules::V1, Rules::VZ),
r("せられる", "する", Rules::V1, Rules::VS),
r("為られる", "為る", Rules::V1, Rules::VS),
r("こられる", "くる", Rules::V1, Rules::VK),
r("来られる", "来る", Rules::V1, Rules::VK),
r("來られる", "來る", Rules::V1, Rules::VK),
],
},
InflectionRules {
reason: Reasons::ADV,
rules: &[r("く", "い", Rules::empty(), Rules::ADJ_I)],
},
InflectionRules {
reason: Reasons::NOUN,
rules: &[r("さ", "い", Rules::empty(), Rules::ADJ_I)],
},
InflectionRules {
reason: Reasons::POLITE_PAST,
rules: &[
r("ました", "る", Rules::empty(), Rules::V1),
r("いました", "う", Rules::empty(), Rules::V5),
r("きました", "く", Rules::empty(), Rules::V5),
r("ぎました", "ぐ", Rules::empty(), Rules::V5),
r("しました", "す", Rules::empty(), Rules::V5),
r("ちました", "つ", Rules::empty(), Rules::V5),
r("にました", "ぬ", Rules::empty(), Rules::V5),
r("びました", "ぶ", Rules::empty(), Rules::V5),
r("みました", "む", Rules::empty(), Rules::V5),
r("りました", "る", Rules::empty(), Rules::V5),
r("じました", "ずる", Rules::empty(), Rules::VZ),
r("しました", "する", Rules::empty(), Rules::VS),
r("為ました", "為る", Rules::empty(), Rules::VS),
r("きました", "くる", Rules::empty(), Rules::VK),
r("来ました", "来る", Rules::empty(), Rules::VK),
r("來ました", "來る", Rules::empty(), Rules::VK),
],
},
InflectionRules {
reason: Reasons::CAUSATIVE_PASSIVE,
rules: &[
r("かされる", "く", Rules::V1, Rules::V5),
r("がされる", "ぐ", Rules::V1, Rules::V5),
r("たされる", "つ", Rules::V1, Rules::V5),
r("なされる", "ぬ", Rules::V1, Rules::V5),
r("ばされる", "ぶ", Rules::V1, Rules::V5),
r("まされる", "む", Rules::V1, Rules::V5),
r("らされる", "る", Rules::V1, Rules::V5),
r("わされる", "う", Rules::V1, Rules::V5),
],
},
InflectionRules {
reason: Reasons::SHIMAU,
rules: &[
r("てしまう", "て", Rules::V5, Rules::IRU),
r("でしまう", "で", Rules::V5, Rules::IRU),
],
},
];