TXR is an open source command-line and multi-platform command-line software written in the C and Lisp programming language, using Flex and Bison to provide developers with a new data munging programming language.
The software can also act as a text processing utility that can match text and extract pieces from it, and it’s capable of outputting the raw bindings that it collects from the text files into a template-driven report.
Features at a glance
Key features include support for pattern matching using regexp (regular expressions), garbage collection, exception handling, quasiliterals, UNIX signal handling, bignum integers, named blocks, quasiquotes, symbols, vectors, lexical closures, lists (lazy and eager), standard strings and lazy strings, non-local and dynamic control transfers, structural macros that contain destructuring argument lists, as well as modern text handling.
Additionally, the software supports lexically and dynamically scoped variables, different types of streams, UTF-8 and Unicode character encodings, lexically and global scoped symbol and function-like macros, and hash tables with sluggish definitions for values and key, or for regular expressions that contain advanced operators like difference, complement and intersection.
Another interesting feature is the ability to provide different ways for making input handling implicit, through a recursive, nested pattern matching notation that can bind variables. The software is influenced by many programming languages, including Python, Common Lisp, Ruby, POSIX Shell, Scheme, S-Lang, Awk, Prolog, M4, Arc and Clojure.
A cross-platform and portable software
TXR is a cross-platform and portable software that has been successfully tested under the GNU/Linux (Ubuntu/Debian), BSD (FreeBSD/NetBSD), Solaris, Microsoft Windows via Cygwin, MinGW, as well as Mac OS X operating systems. Both 64-bit and 32-bit instruction set architectures are supported at this time.
For your convenience, the application is available for download as a universal source archive, installable on any GNU/Linux or BSD distributions, as well as pre-built binary packages for the Debian, Ubuntu, Solaris, Microsoft Windows and Mac OS X operating systems.