Whale Calf, a parser generator for Boolean grammars

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...

  1. Whale Calf 1.9.1, the latest release: source (compiles under g++).
  2. Outdated documentation: pdf.
  3. Presentation of Whale Calf at CIAA 2002 conference (Tours, France): the paper,
  4. Some examples of grammars.

E-mail: christian_name.family_name@utu.fi.

Last updated: April 2017.