UniParser is a parser toolkit for creating grammar parsers of streams (of e.g. Unicode characters) with Ada 95 programming language. (If you will request, I may port it to C++.) Very feature rich, flexible, and extensible; however somehow slow and bloate