The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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!