This file is at: http://www.ccs.neu.edu/home/lieber/com1205/w01/previous-project/how-to-use.txt The project from the previous class has been made available as a useful program for this class. The program checks class dictionaries for errors. The program was written by Jeannette Travers and John Prince and integarted and improved by Jon Kelley after the class was over. Below I describe what the program does, how to run it on CCS Solaris machines and where the source lives. WHAT IS IMPORTANT IS THAT THE SOURCE CODE SHOWS YOU WHAT YOU ARE EXPECTED TO ACCOMPLISH IN THIS CLASS. The source code consists of 716 lines of Java code and 78 lines of class dictionary. DemeterJ translated this into 11474 lines of Java code. One team of one or at most two students is expected to perform a project of this complexity. We have written class dictionaries in class, e.g.: Tree = "tree" ["left" Tree] ["right" Tree] Node. Node = int. The program is not perfect but very useful the way it is. Becuase it uses DJ the program is kind of slow. Expect it to run for at least a minute. When you run the program on the above class dictionary, you get: *** ERROR: Class int is not defined in the class dictionary. This is not really an error: but the program recognizes that "int" is not defined. It is defined in Java. When we introduce a typo in the class dictionary: Tree = "tree" ["left" Tree] ["right" Tree1] Node. Node = int. The program reports: *** ERROR: Class Tree1 is not defined in the class dictionary. which indeed is an error. The program checks for several possible error conditions. To use the program put PATH=/proj/adaptive2/course/com1205/f00/project into your .software file and type resoft Then go to a directory where you have a class dictionary, e.g. tree.cd and type: cdcheck tree.cd This will check your cd. Program cdcheck lives in /proj/adaptive2/course/com1205/f00/project and contains: #! /bin/tcsh -f # usage: cdcheck some-class-dictionary.cd set cur_dir=`pwd` cd /proj/adaptive3/lieber/com1205-2000/jokelley/cdchecker/gen/classes java Main < $cur_dir/$1 cd $cur_dir This means that the source code that your colleagues have written is at: /proj/adaptive3/lieber/com1205-2000/jokelley/cdchecker/ Take a look at the class dictionary: cdcheck.cd and at the behavior files *.beh.