XIMENES

Pattern
Minlen(jumble,phrase)
Maxlen(jumble,phrase)
Minwrd(phrase)
Maxwrd(phrase)
Dictionary size

NAME
    ximenes - Anagram utility

SYNOPSIS
    ximenes -template|-t *template* [ *wordlist...* ]

    ximenes -phrase|-p *fodder* [ -minlen|-m *num* ] [ -maxlen|-M *num* ]
    [ -minwrd|-w *num* ] [ -maxwrd|-W *num* ] [ *wordlist...* ]

    ximenes -regex|-r *regular_expression* [ *wordlist...* ]

    ximenes -jumble|-j *fodder[/essential]* [ -minlen|-m *num* ]
    [ -maxlen|-M *num* ] [ *wordlist...* ]

    ximenes -version | -help | -options | -man

DESCRIPTION
    ximenes searches the named *wordlist*s (or standard input if no files
    are named, or the file name - is given) for anagrams matching the given
    pattern.

OPTIONS
    -template *template*
        Lowercase letters are floating. Uppercase letters are anchored.
        Wildcard is "." (period). Word separator is "/" (slash).

        See EXAMPLES

    -phrase *fodder*
        Find multi-word anagrams of *fodder* (very slowly). Fodder may
        contain multiple "." (period) as a wildcard.

    -regex|-r *regular_expression*
        Find words (*not anagrams*)from dictionary which match
        *regular_expression*. For convenience (possibly...) regexps are
        anchored at beginnning and end.

    -jumble|-j *fodder[/essential]*
        Find words from dictionary which are contained within *fodder*
        letters (and which in turn contain *essential* letters)

    -maxlen|-M *num*
        (jumble,phrase mode) Find words which are not more than *num*
        characters long

    -minlen|-m *num*
        (jumble,phrase mode) Find words which are not less than *num*
        characters long

    -maxwrd|-W *num*
        (phrase mode) Find 'phrases' which are not more than *num* words
        long

    -minwrd|-w *num*
        (phrase mode) Find 'phrases' which are not less than *num* words
        long

EXAMPLES
  Template Mode
    *   Crossword clue *Noble protecting superb tower, as one opposed to war
        (11)*. *Noble* suggests *peer*, *tower* suggests *keep*, three
        letters remain:

           $ ximenes -t peerkeep... /usr/share/dict/words
           peacekeeper
           sheepkeeper

    *   Crossword clue *Let drum, by spinning, process clothes thus (6,3)*,
        "----L-,---". Suggests anagram of *letdrumby*. Anchor L in fifth
        place with uppercase, and remaining letters lowercase; use "/"
        (slash) to separate words:

           $ ximenes -t etdrLu/mby /usr/share/dict/words
           ... LOTS of finds ...
           tumble dry

  Phrase Mode
    Find multi-word anagrams of *Magnus Smith*, constrained to words longer
    than 3 letters, and not more than 4 words in phrase

       $ ximenes -p magnussmith -m 3 -W 4 /usr/share/dict/words
       ... LOTS of finds (and a long wait) ...
       this smug man

    Hmm.

  Jumble Mode
    Find words, longer than 3 letters, contained in the grid

       EHI
       KOR
       RSY

    Words must contain the central letter (*o*).

       $ ximenes -j ehikorrsy/o /usr/share/dict/words -minlen 3
       ... LOTS of finds ...
       sorry
       soy
       yoke
       yorkshire

  Regex Mode
       ximenes -r j.b.e.w.c.y /usr/share/dict/words

    is equivalent to (and probably slower than)

       grep "^j.b.e.w.c.y$" /usr/share/dict/words

BUGS
    Very slow.

VERSION
        $Id: ximenes 3599 2007-07-30 23:14:03Z mlewissmith $


$Id: xim.cgi 4044 2009-02-17 09:42:22Z mlewissmith $ 127.0.0.1