University of Arizona, Department of Computer Science

CSc 453: Fall 2012: Programming Assignments

The Start dates given here refer to the latest date by which the specification for an assignment will be made available. I will try to make the specifications available earlier than this, both to give people more flexibility in budgeting their time, and to allow them to anticipate future needs while designing their programs.

0. Assignment 0 Function: set up
1. html2txt Function: Convert a HTML file to a txt file (Goal: learning to use lex and yacc).
Input: HTML file;
Output: txt file.
Part 1: Start: Mon Aug 27 2012; Due: 11:59pm Sun Sept 2 2012; Specification
Part 2: Start: Mon Sept 3 2012; Due: 11:59pm Sun Sept 9 2012; Specification
Weight in final grade: 2+2 = 4%
2. Scanner + Parser Function: Read in a program according to the lexical conventions of the language; check syntax rules and report lexical/syntax errors; syntactic error recovery.
Input: source program character sequence;
Output: syntax error messages (if any).
Specification
Start date: Mon Sept 17 2012
Due date: 11:59pm Sun Sept 30 2012
Weight in final grade: 12%
3. Type Checking Function: Check type restrictions and report semantic errors; semantic error recovery.
Input: source program character sequence;
Output: syntax/semantic error messages (if any).
Specification
Start date: Mon Oct 8 2012
Due date: 11:59pm Sun Oct 21 Wed Oct 24, 2012
Weight in final grade: 17%
4. Code Generation Function: Generate assembly code.
Input: source program character sequence;
Output: assembly code instruction sequence.
Start date: Mon Oct 29 2012
Specification [complete assignment]

  • 4(a). Milestone 1: Code generation for a subset of C--:
    Specification [milestone 1]
    Start date: Mon Oct 29 2012
    Due date [milestone 1]: 11:59pm Wed Nov 7, 2012
    Weight in final grade: 7%

Due date [complete assignment]: 11:59pm Sun Nov 18 2012
Weight in final grade: 7+10 = 17%