Assignment 2

CS 152
due October 15, 1997
(100 points)

Redo Assignment 1, using Scheme or some other dialect of Lisp. Use the same data files as for Assignment 1.

Once the topological sorting is complete, you needn't maintain any data structure representing the set of tasks or the prerequisite structure. In fact, if you have any part of the representation stored where it is inaccessible to the garbage collector (e.g., on property lists), you should explicitly remove that part.

Assume that the input files use the same representation as in Assignment 1. Once again, output may be sent either to the screen (standard output) or to a file.

You should be able to detect and handle the same 3 types of errors you were required to check in Assignment 1. However in this assignment, you may use the primitive file-handling facilities of the language to check for nonexistent files. Nonetheless, you should test for a nonexistent file as well as testing the seven files given to you for the last assignment.