The libmba package is a collection of mostly independent C modules potentially useful to any project. There are the usual ADTs including a linkedlist, hashmap, pool, stack, and varray, a flexible memory allocator, CSV parser, path canonicalization routine, I18N text abstraction, configuration file module, portable semaphores, condition variables, and more. The code is designed so that individual modules can be integrated into existing codebases rather than requiring the user to commit to the entire library. The code has no typedefs, few comments, and extensive man pages and HTML documentation.
monq.jfa is a class library for fast and flexible text filtering with regular expressions. In contrast to java.util.regex, monq.jfa allows a regular expression to be bound to an action that is automatically called whenever a match is spotted in an input stream. In addition, it can combine several ten thousand regex/action pairs into one machinery (called a "deterministic finite automaton" or DFA) for fast parallel text filtering. A general purpose TCP server and associated classes in monq.net allow the bigger DFAs to be run as servers.
Structured Document Validator implements a generalized method for validating both the structure and content of structured documents. Any data format that can be deterministically divided into tags and data is classed as a structured document. This definition applies to a wide array of data formats, including XML, Java properties files, and delimited value files. The application performs validations based on user-defined Structured Document Definitions (SDDs). It provides an environment for validation, SDD development, and document editing.
Grammatica is a parser generator (compiler compiler) for C# and Java. It improves upon similar tools (like yacc and ANTLR) by creating well-commented and readable source code, by having automatic error recovery and detailed error messages, and by support for testing and debugging grammars without generating source code. Grammatica supports LL(k) grammars with an unlimited number of look-ahead tokens.
CharEntry is a tool for inserting non-ASCII characters into text, with particular emphasis on linguistic notation. It provides charts of the consonants, vowels, and diacritics of the International Phonetic Alphabet as well as a chart of precomposed accented characters. Clicking on a character inserts it into a text region, the contents of which may be saved to a file or copied and pasted elsewhere. A widget for inserting characters by Unicode codepoint is also provided. Furthermore, it is possible to read the definition of a custom character chart from a file.
GXPARSE is not a new XML parser, but is an additional processing layer that makes it much easier to use event-based parsers like the SAX parser. It supports both direct sequential output and random access output (via the Resequencer interface). The random access mode delays output until all input has been processed, but makes it much easier to handle ID/IDREF attributes. GXPARSE maintains most advantages of the event-based parser. Application development and maintenance is considerably easier, but processing is a little slower.
libuninum is a library for converting Unicode strings to integers and integers to Unicode strings. Internal computation is done using arbitrary precision arithmetic, so there is no limit on the size of the integer that can be converted. Values are passed and returned as ASCII decimal strings, GNU MP mpz_t objects, or unsigned long integers. Auto-detection of the number system is provided. Very many number systems are supported. Group delimitation for output strings is fully controllable. Command line and graphical interfaces are also provided.
Passepartout is a GTK-based Desktop Publishing application. It features layout templates, an XML- based typesetting engine called xml2ps, user- defined text formatting with XSLT stylesheets, support for importing EPS (Encapsulated PostScript) files and almost any raster images, text running around image (or text) frames, and printing to PostScript and EPS.