2/28/'20:

Activity 4:

Process:

1. Try to make sure your group includes at least one student who was not in your group for the previous activities.

As before:
2. Make sure everyone in your group knows everyone else.
3. On a sheet of standard notebook paper, write down the names of all the students who are in your group.
4. Each student should consider the question below individually for about three to five minutes.
5. Discuss each others' ideas as a group for about seven or eight minutes.
6. Have one student write down the *group's* consensus (or majority)
answer to the question on the sheet of paper that has everyone's name
on it. The written answer should be no more than two-thirds of the
page in length; other students may suggest, hopefully minor, changes
in the answer. Give the answer sheet to Neelam.
7. The whole process should take no more than 15-20 minutes.

Consider the following statement:
Some people carry polymorphism too far! Specifically, in the example of the Core interpreter, these people might have a base class called "Node" that corresponds to *all* kinds of nodes that might appear in the abstract parse tree and have classes such as Prog, Decl, Stmt, etc. be derived classes of Node. Node will contain three abstract methods, Parse, Print, Execute, with the derived classes providing the definitions of these methods.

It turns out this is a *bad* idea.

Explain precisely why this is a bad idea.
(Hint: Can lead to some errors not being caught before execution.)