Pâté is a visual and interactive tool for parsing and transforming grammars.

Pâté can show the textual or graphical visualization of a derivation for a given grammar (restricted or unrestricted). With the textual visualization, a step-by-step derivation is displayed including the rules used at each step. In the the graphical visualization, a parse tree for the derivation is shown with each node representing a symbol or a variable.

Grammar Transformation: Starting with a context-free grammar, Pate performs four grammar transformations in this order:

  1. Removal of Lambda Productions
  2. Removal of Unit Productions
  3. Removal of Useless Producations
  4. Conversion to CNF

In the transformations, a graphical representation is used to help the user determine new productions in the removal of unit and useless productions.

Note: In each transformation, the grammar that is being worked on for the visualization is the previous grammar (the one from the previous transformation).


Pâté includes an extensive online help system in HTML and in ASCII text formats. The help covers how to use Pâté and carry out the removals and conversions. The HTML help is now available online.


We have applet versions available that you can try out on Netscape, but be aware that they don't work as well as the application. For example, in the demo, you can't save any grammar. These things do work if you run it as an application.

java online demo

You can download Pâté (the whole package) from here (including the source code). This allows you to run Pâté as a Java application.

Current Version:

ftp://ftp.cs.duke.edu/pub/rodger/tools/pate2-00.tar.gz (any platform, uses JDK 1.2)

ftp://ftp.cs.duke.edu/pub/rodger/tools/pate2-00.tar (same thing, just not compressed, uses JDK 1.2)

ftp://ftp.cs.duke.edu/pub/rodger/tools/pate2-00.zip (same thing, just zipped, uses JDK 1.2)

The files were compiled with the Java Development Kit from Sun Microsystems which you can download from java.sun.com .

Read the README file for more information on what these files contain and other tools available for download.

For links to more
automata and parsing tools. we have created.