COM 1355 Assignment #2. Assigned: Thursday, 16 January 2003 Due: Thursday, 30 January 2003, by 1pm EST Implement an attribute evaluator for quirk20 as specified below. This phase shall consist of a Java package named attributes that defines a public class named Attributes, which defines a public static method public static void evaluator (qast.Ast pgm); The evaluator operation takes as its argument the abstract syntax tree for a complete and error-free quirk20 program, and records the D.sleaf, D.dleaf, and E.tail attributes as follows: For each function declaration D, the evaluator operation uses Ast.update1 to record D.sleaf, and Ast.update2 to record D.dleaf, using the encoding described by the table below: value encoding ----- -------- true 1 false 0 For each procedure call expression E, the evaluator operation uses Ast.update1 to record E.tail using the encoding described by the table above. The evaluator operation should have no side effects apart from those listed above. The instructor is providing Java code to parse a quirk20 program and to implement the Qtype abstract data type. See the documentation on the web page. The code is in /course/com1355/Assignments/Assignment2 Please do not modify the instructor's code, as that would make it harder to combine your semantic analysis phase with a code generator written by someone else. If you find a bug in the instructor's code, please report it. Submit this assignment using the submit-1355 script that is documented on the course web page.