Projects / Kelbt

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.

Tags Software Development Code Generators Compilers Text Processing General
Licenses GPL
Operating Systems OS Independent
Implementation C++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  07 Oct 2008 04:41
  • Rrelease-after

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

    • Rrelease-mid
    •  01 May 2007 13:17
    • Rrelease-after

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

    • Rrelease-mid
    •  12 Feb 2007 17:27
    • Rrelease-after

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

    • Rrelease-mid
    •  27 Jan 2007 23:16
    • Rrelease-after

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

    • Rrelease-mid
    •  23 Jan 2007 03:36
    • Rrelease-after

    Changes: The sentinel at the top of the stack now needs to have its pointers initialized.

    D752849498b93304499a612b89c5b7f7_thumb

    Project Spotlight

    CAELinux

    A live DVD for computer aided engineering and finite element analysis.

    Dcbd5932369efb6dabf3525f66f1f3b1_thumb

    Project Spotlight

    tntdb

    A C++ class library for database-independent database access.