Kelbt is a software tool that creates backtracking LALR parsers. The program is designed to analyze the syntax of the input code and produce a parse tree, allowing for easier interpretation and implementation of programming languages.
Kelbt's backtracking capabilities surpass other LR systems in two ways. Firstly, it has introduced a new class of actions called undo actions. These actions allow the user to revert any side effects of forward semantic actions while the backtracker undoes parsing. This makes it possible to backtrack over language constructs that must modify global state to handle context dependencies. Secondly, Kelbt allows users to control parsing strategies that approximate generalized recursive-descent parsing, making it easier to resolve language ambiguities by ordering the grammar productions of a nonterminal according to their precedence.
The user-controlled parsing strategy that the Kelbt project enables is approximate, with parsing strategies akin to those of ordered choice being achievable for most grammars. Kelbt has an easy-to-use grammar transformation tool that quickly remedies any problems that arise during parsing. More details about Kelbt's innovative approach are contained in the CASCON paper.
As a proof of concept, Kelbt's team used the software tool to develop a partial C++ parser (included). The parser is composed of a scanner, a name lookup stage, and a grammar with standard semantic actions and semantic undo actions. This C++ parser shows Kelbt's capabilities, and users can see firsthand how the tool can make parsing tasks easier and more efficient. Overall, Kelbt is a highly effective and innovative tool that can improve the parsing experience for novice and experienced programmers alike.
Version 0.14: N/A