University of Arizona, Department of Computer
			       Science

CSc 453: Fall 2010: 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 30 2010; Due: midnight Sun Sept 5 2010; Specification
Part 2: Start: Mon Sept 6 2010; Due: midnight Sun Sept 12 2010; 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 20 2010
Due date: midnight Sun Oct 3 2010
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 11 2010
Due date: midnight Sun Oct 24 2010
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 Nov 1 2010
Specification [complete assignment]

  • 4(a). Milestone 1: Code generation for a subset of C--:
    Specification [milestone 1]
    Start date: Mon Nov 1 2010
    Due date [milestone 1]: midnight Wed Nov 10, 2010
    Weight in final grade: 7%

Due date [complete assignment]: midnight Sun Nov 21 2008
Weight in final grade: 7+10 = 17%