NAME
jspell - jspell affix file format
The Grammar
table := [headers] [prefixes] [sufixes]
headers := [options] char-sets
options := {fmtr-stmt|bool-stmt|flag-stmt|num-stmt}
fmtr-stmt := {nroff-stmt|tex-stmt}
nroff-stmt := {nroffchars|troffchars} string
tex-stmt := {TeXchars|texchars} string
bool-stmt := {cmpnd-stmt|aff-stmt}
cmpnd-stmt := compoundwords on-or-off
aff-stmt := allafixes on-or-off
on-or-off := {on|off}
flag-stmt := flagmarker character
num-stmt := compoundmin digit
char-sets := norm-sets [alt-sets]
norm-sets := [deftype] charset-group
deftype := defstringtype name deformatter suffix*
charset-group := {char-stmt|string-stmt|dup-stmt}*
char-stmt := wordchars character-range
| wordchars lowercase-range uppercase-range
| boudarychars character-range
| boundarychars lowercase-range uppercase-range
string-stmt := stringchar string
| stringchar lowercase-string uppercase-string
alt-sets := alttype [alt-stmt*]
alttype := altstringtype name suffix*
alt-stmt := altstringchar alt-string std-string
prefixes := prefixes flagdef*
suffixes := suffixes flagdef*
flagdef := flag [*|+] char : [; classification] repl*
repl := condition* > [- string-string,] append-string [; classification]
This grammar is the jspell portion that differs from the ispell one that can be found, complete and commented on ispell manual.
Word Classification
The power of affix files was augmented using a classification option field that is, not more than a string (between quotes) where we can write anything but, for usability, should contain the word classification.
Example:
flag p: ; "CAT=adj_nc"
I L > -L, S ; "N=p" # il->is (funil ---> funis)
In this case, "N=p" means that the application of this rule, the word number (N
) will be plural (p
). The CAT=adj_nc
string is only usefull when using the -c
flag or when using the library get_roots(...)
function.
Suffixes' suffixes
Another change was adding the +
operator that provides a way that a flag can be used on a flagged word, or, in another words, mean it can be suffixed.
THANKS
We should thanks Pace Willisson and Geoff Kuenning for putting ispell
as a open source application, from where much of this application code was borrowed.
AUTHOR
Ulisses Pinto
J.Joao Almeida <jj@di.uminho.pt>
SEE ALSO
See the following man pages: jspell(1), perl(1), agrep(1)
BUGS
We wait for them at any of the author e-mails!