Third Party Contributions

This page contains links to third party contributions and work related to JavaCC. If you have something you wish to contribute, please send a descriptive paragraph in HTML format that contains a link to your contribution. Please help us keep all the links on this page uptodate.


An excellent article in JavaWorld written by Chuck McManis. This article was written before the name change from Jack to JavaCC.


The Yoix scripting language and interpreter was a joint effort of the Information Sciences Research and Network Services Research Labs at AT&T Research in Florham Park NJ, and the entire package has been publicly released under AT&T's Open Source License. Most of the work was done by Richard Drechsler and John Mocenigo in about 18 months, and finding JavaCC early in 1999 really was the reason we decided to try writing a non-trivial production quality interpreter in Java. Visit our web site if you want more information; we're sure some of you will be pleasantly surprised.


LOCC is an extensible system for producing hierarchical, incremental measurements of work product size that are useful for estimation and planning. LOCC is extensible by virtue of its reliance on JavaCC to generate a parser for the work product along with standard interfaces to traverse parse trees for particular work product instances to produce size information. Currently, LOCC parses Java and ASCII text, with limited support for C and C++. It can be easily extended to support any language parsed by JavaCC.

LOCC can produce hierarchical size measurements. For example, for Java source code, LOCC produces size data corresponding to the number of packages, the number of classes in each package, the number of methods in each class, and the number of lines of code in each method.

Finally, LOCC can produce incremental size measurements. In other words, given two files containing successive versions of Java source code, it can perform a hierarchical "diff" of the two files, producing the number of new and changed packages, classes, methods, and lines of code within each method.

LOCC is available for public download by the Collaborative Software Development Laboratory at the University of Hawaii. For more information, see the LOCC Home Page.


The Java Tree Builder (JTB) 1.0 is now available at

http://www.cs.purdue.edu/homes/taokr/jtb/index.html

JTB is a front end for JavaCC along the same lines as JJTree. It supports the use of visitors for accessing the syntaxtree and it minimizes the need for type casts. It is implemented using visitors and bootstrapped using JTB itself. The source is freely available for download.

Documentation as well as a brief comparison with JJTree are available at the web site.

JTB has been intensively used in a graduate-level course on programming languages at Purdue University in Fall 1997.

To obtain JTB, go to the webpage, download jtb100.class, and run java-1.1 (or higher) on it. Being packaged with InstallShield Java Edition, all of the installation will happen automatically.

Kevin Tao (taokr@cs.purdue.edu)
Jens Palsberg (palsberg@cs.purdue.edu)

Purdue University
West Lafayette, Indiana


  • SLINKWORLD presents JavaDepend a dependency graph generator for building Java makefiles. It's 100% pure (JDK 1.1) and it's FREE!

  • Elbereth, A Java Re-engineering Tool based on Star Diagrams
    author: Walter Korman

    This tool provides powerful ways to view all the uses of a variable, method or class in the context in which it is used. It also supports the recording and recall of plans for system-wide changes, meaning that the tool not only provides visualizations of a program, but of a programmer's work as well.


    MapWeaver : a graphical java browser
    MapWeaver is a 2 dimension graphical editor for managing java applications architecture. It is a simple IDE written in and for java which graphically displays the structure of packages and allows the user to browse throught them for consulting or edition of the final classes and interfaces.

    It supports reverse analysis and code generation with JavaCC.

    It was developped by Christophe Roux and is presently proposed as a beta version to the java developers community in order to collect impressions about it, so that the author can improve it alone or integrated to an other IDE.

    You can find a download page for MapWeaver at the following address : www.hexo.fr/mapweaver

    If you wish to have more information about MapWeaver or if you have advises to give or if you want to collaborate with the author you can write to this address : ch_roux@club-internet.fr


    Alexander Anderson (sandy@almide.demon.co.uk) has developed a Java pretty printer using JavaCC. Click here to download it.


    Cunningham & Cunningham, Inc.

    We are a small consultancy that specializes in object-oriented programming. We've been extreamly please with JavaCC, even in its pre-release form. As a service to those considering using JavaCC, we've made public a sanitized version of release notes prepared for a client. The notes include a brief summary of parser-generation and a single token's view of the parsing process.


    Visit the JavaScope home page. JavaScope is a coverage checker and profiler for Java programs. An interesting aspect of it is its capability to perform coverage checking and profiling of JavaCC grammars also.


    Jewel is a compiler for Java completely written in Java. The source is freely available and redistributable.

    It is very much a work in progress.

    Click here for more information.

    It uses JavaCC and the Java 1.0.2 grammar file supplied with JavaCC.


    Contribution from Vadim I. Motorine (vad@iae.nsk.su). Now there are only examples of what we can do as WEB masters in this site. Nothing interesting for a programmers. However we are going to put there the results of our projects that involves th using of JavaCC.


    Contribution from Carl Manning (CarlManning@AI.MIT.EDU). Noncommercial code, Not thoroughly tested to production quality standards: JevaES: Java EVAluator - Expressions & Statements (source code interpreter) A tool in progress, may be useful now if your Java 1.1 development environment doesn't include a way to type in expressions & statements to experiment with your program.


    Jocelyn Paine has contributed a very nice introduction to JJTree where he describes how he has used it to develop an extension to HTML for interactive web pages: http://users.ox.ac.uk/~popx/jjtree.html


    Copyright Metamata, Inc. 1997-2000. All Rights Reserved.