[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: Non-member submission from [Roger Keays <s354157@student.uq.edu.au>]]



-------- Original Message --------
Date: Mon, 21 May 2001 11:47:39 +1000 (GMT+1000)
From: Roger Keays <s354157@student.uq.edu.au>
To: <sablecc-list@sable.mcgill.ca>
Subject: SableCC vs JavaCC vs CUP vs GMD 


Hi,

Is there any consenus as to which is the best Java-producing parser
generator?

>From what I've read and tried so far it seems that:

Sable has these good points:
   - Bottom up
   - Action code in separate class
   - Don't have to generate tree
   - elegant error handling
   - GNU
but these bad points:
   - Very strict AST (seems to defeat the whole point of bottom up
parsing)
   - how can you do semantic checks on the fly? e.g declaration before
use?

JavaCC ::= <Good Points>*
   - Flexible tree building
   - popular
(Bad Points)+
   - Top-down
   - Proprietry

Note on javacc: I downloaded the latest release (v2.0), but the jjtree
preprocessor doesn't seem to work properly. It makes references to a
method setName(..) which it never includes in the nodes it generates.
This
only happens in MULTI mode.

Haven't touched CUP.. Is it good?

GMD Suite seems pretty powerful, but it's a combination of a whole lot
of
fiddly tools. It does allow arbitrary tree construction though, and it
is
bottom up.

What does everyone think?

Sable looks nice, I'm just worried about not being able to do actions as
the code is parsed.

Thanks in advance,

Roger.