=head1 NAME
jspell - jspell affix file format
=head1 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 I<jspell> portion that differs from the I<ispell>
one that can be found, complete and commented on I<ispell> manual.
=head2 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 (C<N>) will be plural (C<p>). The C<CAT=adj_nc> string is only
usefull when using the C<-c> flag or when using the library
C<get_roots(...)> function.
=head2 Suffixes' suffixes
Another change was adding the C<+> operator that provides a way that a
flag can be used on a flagged word, or, in another words, mean it can
be suffixed.
=head1 THANKS
We should thanks Pace Willisson and Geoff Kuenning for putting
C<ispell> as a open source application, from where much of this
application code was borrowed.
=head1 AUTHOR
Ulisses Pinto
J.Joao Almeida <jj@di.uminho.pt>
=head1 SEE ALSO
See the following man pages: jspell(1), perl(1), agrep(1)
=head1 BUGS
We wait for them at any of the author e-mails!
=cut