[antlr-interest] Fwd: antlr or javacc?

Eric researcher0x00 at gmail.com
Fri Dec 16 16:33:17 PST 2011


---------- Forwarded message ----------

On Fri, Dec 16, 2011 at 5:06 PM, Andreas Stefik <stefika at gmail.com> wrote:

> Li Li,
>
> I have both implemented compilers in JavaCC and ANTLR and also taught
> classes in the same. Antlr wins, hands down, for at least the
> following reasons:
>
> 1. Antlr is more flexible
>
> 2. Antlr has great documentation and a rich community. The JavaCC
> documentation is truly awful.
>
> 3. Antlr has targets so you can use different platforms.
>
While there are several targets listed at
http://www.antlr.org/wiki/display/ANTLR3/Code+Generation+Targetsf for any
target other than Java, C, or C#3 I would double check to see if it is
still active regardless of what the status is on the page by checking for
messages from the author posted at http://antlr.markmail.org/


>
> 4. Antlr has rule rewriting and tree walkers. These features alone
> make writing a compiler much more pleasant.
>
> 5. Antlr has LL *, whereas if I recall JavaCC has fixed lookahead,
> which makes writing grammars a little less flexible.
>
> 6. Antlr has semantic predicates.
>
> 7. Antlr is actively developed. Last I checked, and it's been a while,
> javaCC wasn't a very active project.
>
ANTLR v4 is currently under development by Terrence with help from several
others. It is not even at an alpha version, but is fleshed out enough to to
basic test. ANTLRWorks v2  should come out at the same time and work with
ANTLR v4.

You can track the code updates at https://github.com/antlr/antlr4

The latest release 3.4 has gone into a maintenance mode. See
http://www.antlr.org/download


>
> The list goes on and on. I have no vested interest in choosing either,
> but in my view, antlr is a far superior technology.
>
> Stefik
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>


More information about the antlr-interest mailing list