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.
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.
SWEC is a program that automates testing of dynamic Web sites. It parses each HTML file it finds for links, and if those links are within the site specified, it will check that page as well. In addition to parsing and locating links, it will also parse the pages looking for known errors and report those. It will report if a page cannot be read (by either returning a 404, 500, or similar).
Augeas is a configuration API and editing tool. It parses common configuration files like /etc/hosts or /etc/grub.conf in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native configuration files.