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).