libunibreak is an implementation of the line breaking and word breaking algorithms as described in Unicode Standard Annex 14 and Unicode Standard Annex 29. It is a superset of, and supersedes, liblinebreak. It is designed to be used in a generic text renderer. FBReader is one real-world example.
nyu is a combination of modern academic approaches to parsing formal grammars from PEGs and expression grammars that represents the new state of the art in parser generators. nyu grammars are written in a powerful language based on PEGs (parsing expression grammars) but with modifications to allow both the AST and the parser to be specified intuitively in a single grammar. nyu outputs parsers that take advantage of the chilon::parser meta-programming library for C++. The generated parsers are almost as concise and readable as the input grammars, yet perform as well as hand-written C code. nyu ASTs are built using tuples, variant types, and lists, and allow self referential parsers and AST nodes to be manipulated. Advanced features such as hashed containers and grammar inheritance are also possible and well tested. nyu is currently powerful enough to deal with complex grammars and bootstraps its own parser.
QuHelp is a command-line program that scans a directory with HTML formatted text files and builds a help site using that directory's content and a template. A default template is included, but any template can be specified. QuHelp adds a nice expandable tree view of the help site's contents, a navigator, permalinks, and other useful stuff for browsing the help site.
libcsv_parser++ is a C++ library for parsing text files to extract records and fields. The records can be delimited with any set of characters. It makes the following assumptions: the record terminator is only one character in length; the field terminator is only one character in length; and the fields are enclosed by single characters, if any. The parser can handle documents where fields are always enclosed, not enclosed at all, or optionally enclosed. When fields are strictly all enclosed, there is an assumption that any enclosure characters within the field are escaped by placing a backslash in front of the enclosure character. The software could be ported to Windows with very little effort.
Minimac is a minimalist, general purpose text macro processor. Its simplicity should make it particularly well suited as a front end preprocessor for little language compilers. It is meant to be simpler to use than m4. It uses an explicit argument stack, and user functions are defined by concatenation (similar to the Forth language). Macro expansion is delayed to the last possible moment. The software is currently in alpha release.
Vrapper is an Eclipse plugin which acts as a wrapper for Eclipse text editors to provide a Vim-like input scheme for moving around and editing text. Unlike other plugins which embed Vim in Eclipse, Vrapper imitates the behavior of Vim while still using whatever editor you have opened in the workbench. The goal is to have the comfort and ease which comes with the different modes, complex commands, and count/operator/motion combinations which are the key features behind editing with Vim, while preserving the powerful features of the different Eclipse text editors, like code generation and refactoring.
Ezphpconfig generates a set of PHP configuration classes from a supplied XML file. You can then access your configuration values very quickly without having to parse the XML file on every request. The element (tag) names become property names and the text contained in the elements becomes the property's value. It also supports nested elements. If the generated PHP file is older than the XML file, it is re-generated using the data in the newer XML file. This class also supports array types using the element inside an element whose type attribute is set to "array".