CISC 471 / 672 PROGRAMMING ASSIGNMENT 5 - CODE GENERATOR -------------------------------------------------------- GRADING INSTRUCTIONS -------------------- Name:_____________________________ Date of Submission:_________ Total grade ____ - late points ____ = Final grade (out of 100)_____ Days Late:____ Due Date: May 21, 2018 (midnight). Correctness: Show point deductions or check below (partial credit given where applicable): General Tasks: 1. compute the inheritance graph 2. assign tags to all classes 3. determine the layout of attributes, temporaries, and dispatch tables for each class 4. generate code for global data: constants, dispatch tables,... 5. generate code for each feature ************************** Due May 21, 2018 ****************************** ___(40) (2 pts each) Generate code correctly for: ___ assignment ___ true, false, int, string constants ___ new ___ if ___ begin-end ___ sequence ___ let-init ___ let-no-init ___ case ___ loop ___ not ___ compare ___ arithmetic expressions ___ equal ___ attribute definitions ___ initialization ___ nested conditionals ___ nested while loops ___ complicated expression evaluations ___ use of basic classes (Object, int, bool, string) ___ method call that is static dispatch ___ (15 pts / 3 pts each (grad); 25 pts / 5 pts each (ugrad)) Generate code correctly for: ___ modification/accesses to variables of different scopes ___ modification/accesses to parameters ___ method calls without parameters ___ method calls with parameters ___ return value ___ (24 pts) (3 pts each) Generate code correctly for: *** This is Graduate Students Only *** ___ recursive methods ___ dispatch expressions ___ combinations of nested conditionals and loops ___ use of self ___ class inheritance of single level and calling methods of ancestor ___ class inheritance of several levels deep; calling methods of ancestor ___ overriding of method names and calling correct method ___ let with several variables ___(5 pts) Efficiency ___ (5pts grad; 8 pts ugrad) Program Structure: Readable, concise, simple structure. ___ (5pts grad; 8 pts ugrad) Documentation: ___ Internal documentation (comments throughout spec: explain unusual productions and actions) ___ External documentation in README. Explain your design decisions, your test cases, and why you believe your program is correct and robust. Any extra/fancy features working correctly?