What This Document Is
This document details the first programming assignment for CISC 672 (and a subset for CISC 471) Advanced Compiler Construction at the University of Delaware. It outlines a practical exercise designed to reinforce understanding of the Cool language – a key focus of the course – and to build essential skills in language specification interpretation and software testing. This assignment requires students to independently develop and analyze Cool programs.
Why This Document Matters
This assignment is crucial for students enrolled in compiler construction courses. It’s particularly beneficial for those needing to solidify their grasp of a new programming language’s syntax and semantics, and for anyone wanting to practice translating language specifications into functional code. Successfully completing this assignment will provide a strong foundation for subsequent, more complex compiler development tasks. It’s best utilized *before* beginning to code, to fully understand expectations, and *during* development as a reference point for requirements.
Topics Covered
* Cool Programming Language Fundamentals
* Object-Oriented Programming in Cool
* Lexical and Syntax Analysis Testing
* Compiler Implementation Concepts
* Test Case Generation Strategies
* Language Specification Interpretation
* Program Documentation and Reporting
What This Document Provides
* A detailed assignment description with specific program requirements.
* Clear distinctions in task expectations between CISC 471 and CISC 672 students.
* Guidance on utilizing the provided Cool compiler and SPIM interpreter.
* Requirements for program documentation, including compilation instructions, feature coverage, and limitations.
* Expectations for creating comprehensive test cases to validate program functionality.
* A defined scope for program size and complexity for each assigned task.