Re: JavaCC vs SableCC vs CUP vs GMD

Bernd K=?ISO-8859-1?B?/A==?=hl <>
30 May 2001 00:18:40 -0400

          From comp.compilers

Related articles
JavaCC vs SableCC vs CUP vs GMD (Roger Keays) (2001-05-21)
Re: JavaCC vs SableCC vs CUP vs GMD (Bernd K=?ISO-8859-1?B?/A==?=hl) (2001-05-30)
| List of all articles for this month |

From: Bernd K=?ISO-8859-1?B?/A==?=hl <>
Newsgroups: comp.compilers,
Date: 30 May 2001 00:18:40 -0400
Organization: Universitaet Hannover
References: 01-05-059
Keywords: parse, Java, tools
Posted-Date: 30 May 2001 00:18:40 EDT

There are more parser generators which produce java code:

(1) oops

Oops is an object-oriented parser generator implemented in Java. Oops takes
a grammar written in EBNF, checks that it is indeed LL(1), i.e., suitable
for recursive descent parsing, and produces a parser as a set of serialized
objects. A scanner must be provided and classes satisfying certain
interfaces can be implemented which the parser uses for actions, i.e. to
build a parse tree.

(2) jay -- a yacc for Java

jay takes a grammar, specified in BNF and augmented with semantic actions,
and generates tables and an interpreter which recognizes the language
defined by the grammar and executes the semantic actions as their
corresponding phrases are recognized. The grammar should be LR(1), but there
are disambiguating rules and techniques.

Actions, parsing tables, and the interpreter use Java. The grammar allows
complete control over the class structure of the generated parser.

jay itself is written in C: we modified BSD yacc to act as a filter for a
text file and use Java syntax. jay has been compiled under Linux and other
Unix platforms and with cygwin on Windows.


> From: Roger Keays <>
> Organization: University of Queensland
> Newsgroups: comp.compilers,
> Date: 21 May 2001 02:06:26 -0400
> Subject: JavaCC vs SableCC vs CUP vs GMD
> Hi,
> Is there any consenus as to which is the best Java-producing parser
> generator?

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.