| | 1. ANTLR | By: | | License: | www.antlr.org/ | URL: | http:// | Description: | What is ANTLR?
ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions. ANTLR provides excellent support for tree construction, tree walking, and translation. There are currently about 5,000 ANTLR source downloads a month.
|
2. SableCC | By: | | License: | Open Source | URL: | http://www.sablecc.org/ | Description: | SableCC is an object-oriented framework that generates compilers (and interpreters) in the Java programming language. This framework is based on two fundamental design decisions. Firstly, the framework uses object-oriented techniques to automatically build a strictly-typed abstract syntax tree. Secondly, the framework generates tree-walker classes using an extended version of the visitor design pattern which enables the implementation of actions on the nodes of the abstract syntax tree using inheritance. These two design decisions lead to a tool that supports a shorter development cycle for constructing compilers.
|
3. Beaver | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://beaver.sourceforge.net/index.html | Description: | Beaver is a LALR(1) parser generator. It takes a context free grammar and converts it into a Java class that implements a parser for the language described by the grammar. Beaver accepts grammars expressed in the Extended Backus-Naur form(EBNF).
|
5. JFlex | By: | | License: | GNU General Public License (GPL) | URL: | http://www.jflex.de/ | Description: | JFlex is a lexical analyzer generator (also known as scanner generator) for Java(tm), written in Java(tm). It is also a rewrite of the very useful tool JLex which was developed by Elliot Berk at Princeton University. As Vern Paxson states for his C/C++ tool flex: They do not share any code though.
|
6. JTopas | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://jtopas.sourceforge.net/jtopas/ | Description: | The JTopas project provides a small, easy-to-use Java library for the common problem of parsing arbitrary text data. These data can come from a simple configuration file with a few comments, a HTML, XML or RTF stream, source code of various programming languages etc. Sometimes a text has to be parsed completely, sometimes only parts of it are important.
While some programmers solve parsing problems by extensive use of basic methods like the C library functions strtok, strchr or the Java String class methods indexOf, substring etc. combined with lots of loops, if and switch-Statements, others may choose basic tokenizers like the Java classes StringTokenizer or StreamTokenizer. In the case of complex syntaxes like document or programming languages, parser generators like lex and yacc, JavaCC or the Java Treebuilder as well as existing parsers for a specific language are a common choice.
|
7. RunCC | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://runcc.sourceforge.net/ | Description: | RunCC is a new kind of parsergenerator that generates parsers and lexers at runtime. Source generation is only optional. It features simplicity, a standalone useable UNICODE enabled lexer, and a simple EBNF dialect for specifying syntaxes in a File. Although intended for small languages, it comes with Java and XML example parsers.
|
8. Grammatica | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://grammatica.percederberg.net/index.html | Description: | Grammatica is a C# and Java parser generator (compiler compiler). It improves upon simlar tools (like yacc and ANTLR) by creating well-commented and readable source code, by having automatic error recovery and detailed error messages, and by support for testing and debugging grammars without generating source code.
|
9. SJPT | By: | | License: | GNU General Public License (GPL) | URL: | http://sjpt.sourceforge.net/ | Description: | SJPT is a parsing toolkit that supports both top-down (LL(1) and Simple Precedence) and bottom-up parsing (LR(0), SLR(1), LR(1) and LALR(1)). The toolkit also supports generating Java parsers for all the bottom-up parsing methods, based on a CUP definition (similar to Yacc and CUP, but not restricted to LALR parsers only).
|
10. OpenL | By: | | License: | GNU Library or Lesser General Public License (LGPL) | URL: | http://openl.org/index.htm | Description: |
OpenL is an innovative framework for development of different language configurations. It is not another programming language, but rather a methodology and supporting tools allowing professional programmers to create their own versions of Java-like languages.
|
11. Java Compiler Compiler | By: | | License: | BSD License | URL: | http://javacc.dev.java.net | Description: | Java Compiler Compiler [tm] (JavaCC [tm]) is the most popular parser generator for use with Java [tm] applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc.
|
12. Chaperon | By: | | License: | Apache Software License | URL: | http://chaperon.sourceforge.net/ | Description: | Chaperon is a project that converts structured text to XML. It includes a strong LALR(1) parser to parse the text and a tree builder, which creates an XML document.
|
|