Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.172.755 Times

Kelbt 0.12

  Date Added: January 18, 2010  |  Visits: 683

Kelbt

Report Broken Link
Printer Friendly Version


Product Homepage
Download (87 downloads)



Kelbt project can generate backtracking LALR parsers. Standard LALR parser generators emit an error upon encountering a conflict in the parse tables. Kelbt forges onward, generating parsers which handle conflicts by backtracking at runtime. Kelbt is able to generate a parser for any context-free grammar and therefore implements a generalized parsing method. Kelbt is different from other backtracking LR systems in two ways. First, it elevates backtracking to the level of semantic actions by introducing a class of actions called undo actions. Undo actions are invoked as the backtracker undoes parsing and allow the user to revert any side effects of forward semantic actions. This makes it possible to backtrack over language constructs which must modify global state in preparation for handling context dependencies. Second, Kelbt enables a user-controlled parsing strategy which approximates that of generalized recursive-descent parsing. This makes it easy for the user to resolve language ambiguities by ordering the grammar productions of a nonterminal according to their precedence. It is approximate in the sense that for most grammars the equivalent of an ordered choice parsing strategy is achieved. In cases where productions are parsed out of the order given, there is a simple grammar transformation which remedies the problem. See the CASCON paper for more details. As a proof of concept, Kelbt has been used to write a partial C++ parser (included) which is composed of strictly a scanner, a name lookup stage and a grammar with standard semantic actions and semantic undo actions. Whats New in This Release: - 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..

Requirements: No special requirements
Platforms: Linux
Keyword: Actions Backtracking Code Generators Kelbt Lalr Parsing Programming Semantic
Users rating: 0/10

License: Freeware Size: 215.04 KB
USER REVIEWS
More Reviews or Write Review


KELBT RELATED
Code Management Tools  -  GIPSpin 0.1.4
GIPSpin is a graphical interface programming system which allows code to be visualized and which can generate threaded code. The user constructs code segments using visual boxes. The program flow is represented as links between the boxes....
3.2 MB  
Code Management Tools  -  Jacobe Code Beautifier 7.3
Jacobe is a configurable code beautifier for the JavaTM programming language (edition 1.5). It is possible to let Jacobe print your Java code according to the widely used layout rules of Sun Microsystems or customize it to your own standards....
572 KB  
Programming  -  Codejen Framework 1.0
A flexible code generation framework providing the infrastructure for developers to build their own code generators.
18.42 KB  
Programming  -  Framecode 0.0.3
Framecode is a framework, written in Java, to build code generators for all languages. It provides a set of classes to build and format code in a better way than writer.write(mystring). At this time only Java is supported.
44.68 KB  
Education  -  pseint 32.20120418
PSeInt is a pseudo-code interpreter for spanish-speaking programming students. Its main purpose is to be a tool for learning and understanding the basic concepts about programming and applying them with an easy understanding spanish pseudocode.
2.48 MB  
Code Management Tools  -  Parsing 1.3
Parsing module is a pure-Python module that implements an LR(1) parser generator, as well as CFSM and GLR parser drivers. From an algorithmic perspective, this is one of the most advanced parser generators in existence, for the following reasons:...
82.94 KB  
Code Management Tools  -  Felix Programming Language 1.1.1
Felix is an advanced Algol like procedural programming language with a strong functional subsystem. It features ML style typing, first class functions, pattern matching, garabge collection, polymorphism, and has built in support for high...
1.2 MB  
Code Management Tools  -  2E Programming Language 0.8.2
2E Programming Language (two es, as in ee, or expression evaluator) is a simple algebraic syntax language. It natively supports expressions (composed of operators and operands), and function definitions, and basically nothing else. Therefore, it...
31.74 KB  
Code Management Tools  -  Ragel State Machine Compiler 5.23
Ragel State Machine Compiler compiles finite state machines from regular languages into executable C/C++/Objective-C code. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at...
532.48 KB  
Utilities  -  pyFLTK 0.4
JNI++ is a set of two code generating utilities and a core C++ library that simplify programming to the Java Native Interface (JNI) with C++. The first of these utilities is used to generate C++ "proxy" classes given a Java class or interface, and...
1.38 MB  
NEW DOWNLOADS IN PROGRAMMING, CODE MANAGEMENT TOOLS
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Code Management Tools  -  BitNami Review Board Stack 1.6.9-1 (linux)
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the...
75.97 MB  
Code Management Tools  -  Common Text Transformation Library 2.08
Common Text Transformation Library, CTTL for short, is a set of C++ classes and functions to understand and modify text data. Common Text Transformation Library implementation is based on STL classes and algorithms. Concept of a substring plays...
163.84 KB  
Code Management Tools  -  GMP compiler 1.0.0
GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. It scans a C source file for specially marked GMPS arithmetic expressions and replaces them with plain C. The abbreviation gmpc stands for GMP compiler, or...
276.48 KB  
Code Management Tools  -  phpCodeGenie 3.0.2
phpCodeGenie (PCG) is a code generator for database driven applications. PCG can generate entire working basic database driven applications for you. PCG can generate code from different databases. The database servers it can talk to via ADODB...
1.4 MB  
Code Management Tools  -  idioskopos 0.4.1
idioskopos (Greek: idio- inward, within, private; -skopos look, aim, target) is a C++ library that simplifies (hopefully) the addition of object reflection and introspection. There are numerous libraries that provide object introspection, but...
604.16 KB