Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

more MASU formal to casual pattern

  • Loading branch information...
commit c8b88029d46334e02128175f4274276aa594aca5 1 parent 6c559ba
@tomill authored
Showing with 42 additions and 13 deletions.
  1. +11 −3 lib/Acme/Ikamusume/Rule.pm
  2. +31 −10 t/01_geso.t
View
14 lib/Acme/Ikamusume/Rule.pm
@@ -70,8 +70,12 @@ sub rules {
# formal MASU to casual
'node.readable' => sub {
my ($self, $node, $words) = @_;
- if ($words->[CURR] eq 'ます' and $node->features->{pos} eq '助動詞' and
- $node->prev->features->{pos} eq '動詞') {
+ unless ($node->features->{original} eq 'ます' and
+ $node->features->{pos} eq '助動詞' and
+ $node->prev->features->{pos} eq '動詞') {
+ return NEXT;
+ }
+ if ($node->features->{inflect_type} eq '基本形') { # ます
$words->[PREV] = $node->prev->features->{original};
$words->[CURR] = '';
@@ -79,6 +83,10 @@ sub rules {
$words->[CURR] .= 'でゲソ';
}
}
+ if ($node->features->{inflect_type} eq '連用形' and # ます
+ $node->features->{category3} !~ /五段/) { # 五段 => { -i/っ/ん/い }
+ $words->[CURR] = '';
+ }
NEXT;
},
@@ -203,7 +211,7 @@ sub rules {
}
if ($node->features->{pos} eq '動詞' and
- $node->features->{inflect_type} eq '基本形' and
+ $node->features->{inflect_type} =~ '基本形' and
$node->next->features->{pos} =~ /^助詞/) {
$words->[CURR] .= 'でゲソ';
}
View
41 t/01_geso.t
@@ -424,37 +424,58 @@ __DATA__
--- match: 名古屋と言えばエビ.+フリャー
-=== formal MASU to casual 五段
+=== formal MASU 基本形 to casual 五段
--- input: 今やります。
--- expected: 今やるでゲソ。
-=== formal MASU to casual 五段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 五段 + 助詞 / GESO eos
--- input: 言いますか。
--- expected: 言うでゲソか。
-=== formal MASU to casual 上一段
+=== formal MASU 基本形 to casual 上一段
--- input: います。
--- expected: いるでゲソ。
-=== formal MASU to casual 上一段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 上一段 + 助詞 / GESO eos
--- input: いますか。
--- expected: いるでゲソか。
-=== formal MASU to casual 下一段
+=== formal MASU 基本形 to casual 下一段
--- input: 見えます。
--- expected: 見えるでゲソ。
-=== formal MASU to casual 下一段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 下一段 + 助詞 / GESO eos
--- input: 見えますか。
--- expected: 見えるでゲソか。
-=== formal MASU to casual カ変
+=== formal MASU 基本形 to casual カ変
--- input: 来ます。
--- expected: 来るでゲソ。
-=== formal MASU to casual カ変 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual カ変 + 助詞 / GESO eos
--- input: 来ますか。
--- expected: 来るでゲソか。
-=== formal MASU to casual サ変
+=== formal MASU 基本形 to casual サ変
--- input: します。
--- expected: するでゲソ。
-=== formal MASU to casual サ変 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual サ変 + 助詞 / GESO eos
--- input: しますか。
--- expected: するでゲソか。
+=== formal MASU 連用形 to casual 五段
+--- input: 書きました。
+--- expected: 書いたでゲソ。
+--- SKIP
+=== formal MASU 連用形 to casual 五段
+--- input: やりました。
+--- expected: やったでゲソ。
+--- SKIP
+=== formal MASU 連用形 to casual 下一
+--- input: 受けました。
+--- expected: 受けたでゲソ。
+=== formal MASU 連用形 to casual 上一
+--- input: 起きました。
+--- expected: 起きたでゲソ。
+=== formal MASU 連用形 to casual カ変
+--- input: 来ました。
+--- expected: 来たでゲソ。
+=== formal MASU 連用形 to casual サ変
+--- input: しました。
+--- expected: したでゲソ。
+
=== formal to casual userdic
--- input: そうでした。
Please sign in to comment.
Something went wrong with that request. Please try again.