Categories:?This is where you define categories of sounds. The format is
X=abcde where X is the category (any single character) and
abcde is a run of characters that are a part of that category.
Sound Changes:?This is where you define sound-change rules. They are
in the format x/y/z where x is the sound (characters) to be changed, y
is the sound it changes to, and z is the context where this change happens. x or
y may be blank, but not both.
The context is in the format a_b where a
is what comes before the sound, b is what comes after the sound, and _ indicates where the
sound itself is. You can use # within a or b to indicate the beginning or the end of a word, and you
can use a category name to match any member of that category's run. If both a and b have a
category, the nth character in the run of one category will be replaced with the nth character in the run of the
other category. If you leave the context blank, it is treated as if it were _.
Optionally, you can add a
fourth parameter: x/y/z/j. j is an exception, which is a context like z,
but if the exception matches, the sound is not changed.
All parameters can include Javascript regular
expressions.
Input Lexicon:?This is the list of words you are changing through use of the
sound-change rules, one per line.
Result Lexicon:?After the sound changes are applied,
the changed words are printed here.
Rewrite rules:?These are used to perform global replacements on original words in
the input lexicon as well as the final, changed words in the result lexicon. For instance, you might
use th||T to change the original word them into Tem so that the
sound-change rules have something easier to work with. After the word is transformed, the rules are applied in
reserve to change Tim into thim.
You can also make rules that only work
in one direction. th>>T would only change them into Tem, and
th<<T would only change Tim into thim.
One-way
rules, on the source side only, can use Javascript regular expressions, as well as %X and
!%X expressions where X is the label of a category: %X is replaced with
[a-z] and !%X is replaced with [^a-z], where a-z is the run
of characters in that category.