University of Arizona, Department of Computer Science

CSc 453: Fall 2014: 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: Tue Sept 2; Due: 11:59pm Mon Sept 8; Specification
Part 2: Start: Tue Sept 9; Due: 11:59pm Mon Sept 15; 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: Thu Sept 18
Due date: 11:59pm Mon Oct 6
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: Tue Oct 14
Due date: 11:59pm Mon Oct 27
Weight in final grade: 17%
4. Code Generation Function: Generate assembly code.
Input: source program character sequence;
Output: assembly code instruction sequence.
Start date: Tue Nov 4
Specification [complete assignment]

  • 4(a). Milestone 1: Code generation for a subset of C--:
    Specification [milestone 1]
    Start date: Tue Nov 4
    Due date [milestone 1]: 11:59pm Fri Nov 14
    Weight in final grade: 7%

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