Projects / Kelbt


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.

Operating Systems

Recent releases

  •  02 Oct 2009 00:34

    Release Notes: The -I option was added for specifying include directories. The "token uses" construct was fixed.

    •  07 Oct 2008 04:41

      Release Notes: The uses statement can now reference undefined types. RHS element reference checking has been fixed. The un-translate code blocks are now properly balanced with the translate blocks. The graphviz output has been improved. const correctness warnings have been fixed. The distclean target has been fixed. There are other updates.

      •  01 May 2007 20:17

        Release Notes: The -l option was added for turning off line directives in generated code. The class keyword was added. This indicates that a nonterminal or the token type is a C++ class, and should have its constructors and destructors called. The 'shortest' statement was added. This allows one to force a shortest match of a list of items. The semantics of commit was changed. It now forces a full commit rather than a scoped commit. Many other improvements were made.

        •  13 Feb 2007 01:27

          Release Notes: The commit and final block execution code now uses malloc to allocate an array of pointers instead of using a variable-sized array on the stack, which is not portable C.

          •  28 Jan 2007 07:16

            Release Notes: The Ragel style of generating code was adopted. In this style, the section of code to generate is explicitly named using a write statement. The access statement was added. The generated code was made compatible with C. Single-line parser specifications were added. The "token uses" statement was added. Line directive writing was fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.