|
|
@@ -1817,6 +1817,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
failed = 1; |
|
|
|
break; |
|
|
|
case RULE_DOLLAR: |
|
|
|
post_ptr--; |
|
|
|
command = *rule++; |
|
|
|
if (command == DOLLAR_UNPR) |
|
|
|
match.end_type = SUFX_UNPRON; // $unpron |
|
|
@@ -1913,9 +1914,11 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
} |
|
|
|
break; |
|
|
|
case RULE_INC_SCORE: |
|
|
|
post_ptr--; |
|
|
|
add_points = 20; // force an increase in points |
|
|
|
break; |
|
|
|
case RULE_DEC_SCORE: |
|
|
|
post_ptr--; |
|
|
|
add_points = -20; // force an decrease in points |
|
|
|
break; |
|
|
|
case RULE_DEL_FWD: |
|
|
@@ -1944,8 +1947,10 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
case RULE_NO_SUFFIX: |
|
|
|
if (word_flags & FLAG_SUFFIX_REMOVED) |
|
|
|
failed = 1; // a suffix has been removed |
|
|
|
else |
|
|
|
else { |
|
|
|
post_ptr--; |
|
|
|
add_points = 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
if (letter == rb) { |
|
|
@@ -2026,6 +2031,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
failed = 1; |
|
|
|
break; |
|
|
|
case RULE_DOLLAR: |
|
|
|
pre_ptr++; |
|
|
|
command = *rule++; |
|
|
|
if ((command == DOLLAR_LIST) || ((command & 0xf0) == 0x20)) { |
|
|
|
// $list or $p_alt |
|
|
@@ -2057,6 +2063,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
failed = 1; |
|
|
|
break; |
|
|
|
case RULE_STRESSED: |
|
|
|
pre_ptr++; |
|
|
|
if (tr->word_stressed_count > 0) |
|
|
|
add_points = 19; |
|
|
|
else |
|
|
@@ -2077,12 +2084,14 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ |
|
|
|
} |
|
|
|
break; |
|
|
|
case RULE_IFVERB: |
|
|
|
pre_ptr++; |
|
|
|
if (tr->expect_verb) |
|
|
|
add_points = 1; |
|
|
|
else |
|
|
|
failed = 1; |
|
|
|
break; |
|
|
|
case RULE_CAPITAL: |
|
|
|
pre_ptr++; |
|
|
|
if (word_flags & FLAG_FIRST_UPPER) |
|
|
|
add_points = 1; |
|
|
|
else |