TM++ is an embedded, portable, persistent Topic Maps engine. It is designed to work according to the ISO standards for TMDM 1.0 and XTM 1.0/2.0 on Windows and most POSIX-compliant operating systems like Unix and Linux. It has interfaces for C++, ALLEGROCL, CHICKEN, CLISP, CFFI, C#, Guile, Java, Lua, Modula 3, Mzscheme, Ocaml, Octave, Perl, PHP4, PHP5, Pike, Python, R (aka GNU S), Ruby, Lisp S-Expressions, Tcl, Common Lisp/UFFI, and XML.
Restless is yet-another lightweight markup processor; it generates HTML from plain text with non-intrusive markup of headings, bullet lists, and so on. But unlike other such tools, restless aims to do less: it does not use cryptic punctuation to control advanced formatting, and instead uses heuristics to classify, for example, code samples versus text. It can be used from the command line or on-demand as an Apache filter.
Steev's HTML Parser is an HTML parsing library that builds a complete hierarchy for each element and attribute in the supplied HTML file. Each element is its own C++ class, replete with child nodes, allowing for full control and processing. An 'HTML beautifier' example is included.
Bare XML is a "bare" XML parser with all primary parsing done via a simple state engine with about 20 or so different states. A tree structure is created during parsing, with all node names and values linked via pointers directly into the original text buffer. As such, Bare XML is extremely fast and simple. Currently, the parser is available in a perl module with Perl glue to turn the created tree into a Perl hash tree. The module name is XML::Bare.
Puno is a PHP module (PHP5 and Linux/Unix only) that brings the OpenOffice.org UNO Programming API to the PHP userspace. You can use it to write scripts that create, modify, read, and save OpenOffice.org documents (Writer, Spreadsheet, and Drawing). You can export these documents in various formats, such as PDF or HTML.
Simple Plain Xml Parser (spxml) is a simple and plain stream-oriented XML parser that supports pull-model and DOM-model XML parsing. As the user passes it chunks of an XML document, it identifies elements, character data, or other entities and return the appropriate event. Chunks can range from one byte to the whole XML document and can safely be read from pipes. Resulting DOM trees can be read, modified, and saved.
Kelbt generates backtracking LALR parsers. A distinguishing characteristic of Kelbt is that it introduces a class of actions called undo actions which are invoked as the backtracker undoes parsing. These allow the user to revert any side effects of forward parsing. Kelbt enables a user-controlled parsing strategy approximating that of generalized recursive-descent parsing. This makes it easy to resolve language ambiguities by ordering the grammar productions of a nonterminal according to precedence.
JetPAG is a flexible yet powerful full-LL(k) parser and lexical analyzer generator focused on high performance, efficiency, usability, and readability of generated code. It generates powerful optimized recursive descent recognizers, and supplies a small library that can be used to do minimal parsing needs. Generated code is nicely structured and distributed over several files for easier management and integration into larger projects. JetPAG offers a powerful control over the generated source code, preventing post-generation modifications.