NOTE: You may work with others on this homework, just mark your paper with the names of the students who worked together on the assignment.
PURPOSE: The purpose of this homework is to examine some of the issues and concepts related to parameter passing and functional programming.
You should include:
(a) definitions of classes other than the language classes and base class, that would be used in the implementation of these languages. An example might be the class for control structures.
(b) a drawing of the inheritance graph showing the relationships between classes,
(c) names and type signatures of the methods and data members of each class,
(d) for each class, method, and data member, a single sentence that briefly states its role/capability.
This is very open-ended on purpose, to give you freedom in thinking about the various commonalities and differences. One could imagine a method for "iteration" or one for "variable declaration", shared among the different classes with slightly different syntax, for example.
Your grade on this exercise will be based on your demonstration of the language differences and commonalities, but just as importantly, on the demonstration of the concepts of data abstractionn, object-oriented design, inheritance, method overloading/overriding, and polymorphism.
Last Change: November 7, 2000 / pollock@cis.udel.edu