================================================================================ Winter 2005 CS124 Assignment 3 -- Marked By: /100 ================================================================================ Design / 15 ================================================================================ This section deals with clarity of the code's organization. 0 3 5 / 5 QueueTreeInterface and QueueInterface: Interfaces used to enforce representation independence 0 3 5 / 5 Classes for Parser and QueueTree: Classes and methods as specified (perhaps with helper functions) 0 3 5 / 5 Use of data factory: All constructors for interfaces available in data factory and not called directly ================================================================================ Documentation / 30 ================================================================================ This section deals with the correctness and clarity of the code's documentation. 0 2 4 / 4 Names: Meaningful variable, class and method names 0 4 8 12 16 /16 Design.txt: Descriptions of the classes used, the relationships between classes, and how the data is stored 0 3 5 / 5 Inline Documentation: Appropriate, concise comments in the code 0 3 5 / 5 Style: White space, indentation ================================================================================ Correctness / 55 ================================================================================ This section deals with correctness of the code itself. 0 5 10 / 10 Compiling: Doesn't compile / Compiles with marker's manipulation / Compiles 7 marks if it compiles only with marker's parser 0 5 10 / 10 Handles simple tagging: Handles a single tag around running text 5 marks if works only with marker's parser 0 3 5 / 5 Handles simple nesting: Handles nesting in which every tag node has only one child 3 marks if works only with marker's parser 0 5 10 / 10 Handles multiple subtrees: Handles nesting in which tag nodes may have several children 8 marks if works only with marker's parser 0 3 5 / 5 Handles empty tags: Handles tags that contain no running text 3 marks if works only with marker's parser 0 3 5 / 5 Handles multiple trees: Recognizes empty queue, calls tokenizer again, and re-initializes tree 3 marks if works only with marker's parser 0 3 5 8 10 / 10 Prints trees properly: 5 marks if tree is destroyed; 8 marks if some formatting errors