LEPL is a recursive descent parser library written in Python. It is based on parser combinator libraries popular in functional programming, but also exploits Python language features. Operators provide a friendly syntax, and the consistent use of generators supports full backtracking and resource management. Backtracking implies that a wide variety of grammars are supported; appropriate memoisation ensures that even left-recursive grammars terminate.
Japplis Toolbox is a compilation of text utilities in one application. It can encode and decode URL, Base64, Hex, SoundEx, or Metaphone. It can convert numbers from/to binary, octal, decimal, and hexadecimal, and to date. It gives you text information such as character count, word count, MD5, or SHA. You can get Java system properties, environment variables, or Swing default values. It checks and finds regular expressions. It can also manipulate lines of text by sorting, reversing, shuffling, deleting duplicates, trimming spaces, or numbering lines.
Grep.pm is a much-modified fork of tcgrep. It understands context, matching from the start or end of a file (with a line count or byte count), and features size limits and highlighting. It extends matching to boolean expressions, structuring regular expressions, or even arbitrary pieces of Perl code. It can perform basic stemming and synonym-expansion in regular expressions (using expansyn). It also handles \0-lines, paragraphs, file slurping, directory recursion, and compressed files. It can act either as a Perl module or a command-line program. Grep.xchange is a support program taking grep or Grep.pm input and applying an expression at each grep match to the files specified in the grep output. This expression can be arbitrary Perl modifying e.g. just the line of the match with s///g, or operate against the current pos() position in the whole file. Grep.xchange --modified goes one step further and replaces the matched lines with the (edited) text from the grep output. Changes are logged in diff -u format and can be revoked/redone with patch.
tagls is a tool that matches file names using boolean expressions made of tags and regular expressions. It handles searching in file lists with word boundaries for "tags", stemming and synonym expansion for both tags and regular expressions, and boolean expressions over lists of tags or regular expressions. It can match against either the file name or the file's content. The output can be unsorted, sorted by name, or sorted by relevance.