Demonstration of Parsing Algorithms

Last Update Time-stamp: "97/06/30 23:13:32 umrigar"


The applets accessible from this page demonstrate the following parsing algorithms:

  1. Recursive-descent parsing.
  2. LL(1) table-driven parsing.
  3. Shift-reduce parsing.
Besides showing a parse tree or forest as it is being constructed, the applet shows the current line in the program (for the recursive-descent parser) or state in the parse table (for the LL(1) and shift-reduce parsers). It also displays a trace of the stack contents followed by the remaining input.

The applets are best viewed using Netscape running on a Unix platform. It largely works on other platforms.

You can also browse the source code, or download the entire package as parsdemo-1.0.tar.gz.

Other projects I've worked on.

Feedback: Please email any feedback to