Last Update Time-stamp: "97/06/27 20:21:41 umrigar" parsdemo is a interactive java applet used to demonstrate the operation of the following parsing algorithms: + Recursive-descent parsing. + Table-driven LL(1) parsing. + 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 demo comes with hand-written parsers for a simple language involving assignments and arithmetic expressions. It should be relatively easy to add parsers for other languages, as each language/parser combination is described by two leaf classes: a class describing the grammar and a class describing the parser or parse table (the applet does not construct parsers automatically from the grammar). It is also possible to run the demo as a stand-alone java program by typing: java zdu.parsdemo.ParsDemo [ALGORITHM] where ALGORITHM is one of `LL1, `SR, or `Rec' (default). parsdemo is available for viewing or download at: http://opal.cs.binghamton.edu/~zdu/parsdemo ftp://watson2.cs.binghamton.edu/pub/zdu/parsdemo.tar.gz Unfortunately, as our computer center tends to abruptly turn routers on and off, these sites are not terribly reliable (especially on weekends). INSTALLATION: You can retrieve the entire distribution by anonymous ftp from the above address. Then simply unzip and untar the distribution: gzcat parsdemo-1.0.tar.gz | tar -xvf - This will unpack the distribution into a directory called parsdemo-1.0 which will be created in your current directory. You can rename or copy this directory as you wish (however, do not alter the subdirectory structure). If you point your browser to the extracted file index.html (at the top-level of the new directory) you should be able to view the applets. All the source code and class files are in the subdirectory zdu/parsdemo. NOTE: The version number of the distributed package reflects the applet code, and not the related html pages. The html pages will be updated without the version number being changed.