<hunspell>
<suppress blankLines="true" comments="true" metadata="true" myBlankLines="true" myComments="true"/>
<affixFile>
<settings>
<languageCode>en_US</languageCode>
<characterSet>UTF-8</characterSet>
<flagType>long</flagType>
</settings>
<affixes>
<!-- 1. WORD -> PREFIX -->
<prefix flag="1p">
<rule add="re" />
</prefix>
<!-- 2. WORD -> SUFFIX -->
<suffix flag="2s">
<rule add="es" />
</suffix>
<!-- 3. WORD -> PREFIX -> SUFFIX -->
<prefix flag="3p" cross="true">
<rule add="re" combineFlags="3s"/>
</prefix>
<suffix flag="3s" cross="true">
<rule add="s"/>
</suffix>
<!-- 4. WORD -> SUFFIX -> PREFIX -->
<suffix flag="4s" cross="true">
<rule add="s" combineFlags="4p"/>
</suffix>
<prefix flag="4p" cross="true">
<rule add="re"/>
</prefix>
<!-- 5. WORD -> INNER-SUFFIX -> OUTER-SUFFIX -> PREFIX -->
<suffix flag="5i">
<rule add="able" remove="e" combineFlags="5o"/>
</suffix>
<suffix flag="5o" cross="true">
<rule add="y" remove="e" combineFlags="5p"/>
</suffix>
<prefix flag="5p" cross="true">
<rule add="un"/>
</prefix>
<!-- 6. WORD -> PREFIX -> INNER-SUFFIX -> OUTER-SUFFIX -->
<prefix flag="6p" cross="true">
<rule add="dis" combineFlags="6i"/>
</prefix>
<suffix flag="6i" cross="true">
<rule add="ful" combineFlags="6o"/>
</suffix>
<suffix flag="6o" cross="true">
<rule add="ly" />
</suffix>
<!-- Invalid Rule Set! 7. WORD -> INNER-SUFFIX -> PREFIX -> OUTER-SUFFIX -->
<suffix flag="7i" cross="true">
<rule add="able" combineFlags="7p"/>
</suffix>
<prefix flag="7p" cross="true">
<rule add="in" combineFlags="7o"/>
</prefix>
<suffix flag="7o" cross="true">
<rule add="y" remove="e"/>
</suffix>
</affixes>
</affixFile>
<tests>
<!-- 1. WORD -> PREFIX -->
<good>redo</good>
<!-- 2. WORD -> SUFFIX -->
<good>does</good>
<!-- 3. WORD -> PREFIX -> SUFFIX -->
<good>react reacts</good>
<bad>acts</bad>
<!-- 4. WORD -> SUFFIX -> PREFIX -->
<good>plays replays</good>
<bad>replay</bad>
<!-- 5. WORD -> INNER-SUFFIX -> OUTER-SUFFIX -> PREFIX -->
<good>believe believable believably unbelievably</good>
<bad>unbelieve unbelievable</bad>
<!-- 6. WORD -> PREFIX -> INNER-SUFFIX -> OUTER-SUFFIX -->
<good>respect disrespect disrespectful disrespectfully</good>
<bad>respectful respectfully</bad>
<!-- Invalid Rule Set! 7. WORD -> INNER-SUFFIX -> PREFIX -> OUTER-SUFFIX -->
<!-- Based on rule set 7, you might expect these words to be identified as correctly spelled:
tract, tractable, intractable, intractably
In actuality, intractably will be flagged as misspelled.
Rule set 7 incorrectly attempts to cross from suffix to prefix and back to suffix, which is invalid.
It could be fixed by rearranging the rules to INNER-SUFFIX -> OUTER-SUFFIX -> PREFIX.
-->
<good>tract tractable intractable intractably</good>
<bad>intract</bad>
</tests>
<dictionaryFile>
<words>
do/1p
do/2s
act/3p
play/4s
believe/5i
respect/6p
tract/7i
</words>
</dictionaryFile>
</hunspell>