Related articles |
---|
JavaCC vs SableCC vs CUP vs GMD s354157@student.uq.edu.au (Roger Keays) (2001-05-21) |
Re: JavaCC vs SableCC vs CUP vs GMD bekuehl@uos.de (Bernd K=?ISO-8859-1?B?/A==?=hl) (2001-05-30) |
From: | Bernd K=?ISO-8859-1?B?/A==?=hl <bekuehl@uos.de> |
Newsgroups: | comp.compilers,comp.compilers.tools.javacc |
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
http://www.inf.uos.de/bernd/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
http://www.inf.uos.de/bernd/jay
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.
Bernd
> From: Roger Keays <s354157@student.uq.edu.au>
> Organization: University of Queensland
> Newsgroups: comp.compilers,comp.compilers.tools.javacc
> 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?
Return to the
comp.compilers page.
Search the
comp.compilers archives again.