The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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!