SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, PHP, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3, OCAML, Octave, and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.
Redet is a tool for developing and executing regular expressions using any of more than 50 search programs, editors, and programming languages, intended both for developing regular expressions for use elsewhere and as a search tool in its own right. For each program in each locale, a palette showing the available constructs is provided. The properties of each program are determined by runtime tests, which guarantees that they will be correct for the program version and locale. Additional features include persistent history, extensive help, a variety of character entry tools, and the ability to change locale while running. Redet is highly configurable and fully supports Unicode.
Xlit converts text from one writing system into another. It allows the user to define a transliteration simply by typing the input strings in one window and the strings to which they are to be mapped in another. Transliteration may be restricted to regions bounded by specified delimiters or their complements. Transliteration may also be performed by external commands or plugins. Xlit can also convert one type of delimiter to another, e.g. from HZ escapes to XML. Xlit can read and write transliteration definitions in its own format and as Yudit keymaps. It can be run in batch mode without the GUI.
SndBite is a specialized audio editor designed for breaking large recordings into smaller components with great efficiency. Its principal intended application is in linguistic research where it is often desirable to put each word or sentence into a separate file before further processing. It is also useful for measuring pause durations. Its features include multiple simultaneous views of the waveform at different resolutions, the ability to position window edges at transitions between sound and silence, automated setting of cut points at zero-crossings, automatic filename generation easily controlled by the user, and optional automatic playback on window motion. It is scriptable and may be run in batch mode without the GUI.
WordGenerator generates hypothetical words from specifications of their syllable structure. The user specifies the maximum length of the words in syllables, the abstract structure of syllables in the language (in terms of such units as consonants and vowels or onsets and rhymes), and the actual sounds that comprise each abstract class (e.g. the list of vowels in the language); WordGenerator then generates the words that conform to this specification. Such lists are useful to field linguists exploring the vocabulary of a language, and to designers of artificial languages.
Trowser is a browser for large line-oriented text files (such as debug traces). It's meant as an alternative to "less". Compared to less, trowser adds color highlighting, a persistent search history, graphical bookmarking, separate search result windows, and flexible skipping of input from pipes to STDIN. Trowser has a graphical interface, but is designed to allow browsing via the keyboard at least to the same extent as less. Key bindings and the cursor positioning concept are derived from vim.
AudioSpace calculates the amount of storage required by an audio recording of a given duration, for different sampling rates, resolutions, and numbers of channels. The calculation may be made for uncompressed audio data or for several types of compression. A variety of units may be selected for reporting the result. The calculation may also be inverted to determine the maximum duration of audio that will fit into the available storage.
Micropolis is a city simulation game engine based on the original classic SimCity source code. Micropolis is based on the Tcl/Tk version of SimCity. It consists of the micropolis module, which is the engine recast as a C++ class; the cellengine module, which is a cellular automata machine engine; and the tileengine module, which is a Cairo based tile renderer. It is intended to be used with the OLPC's Sugar user interface environment, but layered so the core code is useful in other contexts.