Whale Calf is a research-level parser generator for Boolean grammars, which are context-free grammars augmented with Boolean operations. It is written by Alexander Okhotin in C++, and is mainly aimed at demonstrating different parsing algorithms, of which the most practically useful is the Generalized LR (GLR). The main development took place in 2000-2004, though (as of April 2017) some occasional corrections are still being made.
The tool consists of two distinct components: a parser generator that converts a text-based conjunctive grammar description into a set of C++ structures containing information necessary to parse the language, and a C++ class library that uses this information to do the actual parsing. The user has to write one or more grammar files; use the parser generator to translate them into C++ files; define a parser object within the main program, passing a grammar object to the constructor; use a parser class method to load a string into the parser; and finally call one more method to recognize the string.
It has to be stressed that this is not a production-level parser generator. Perhaps someday a software-oriented student will join my project, or any enthusiasts will emerge out of nowhere...
Last updated: April 2017.