University of Arizona, Department of Computer Science

CSc 453: Spring 2016: 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.
Specification
Start date: Fri Jan 15;
Due date: 11:59pm Sun Jan 24;
Weight in final grade: 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 Jan 25
Due date: 11:59pm Tue Feb 9
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).
Weight in final grade: 6+11 = 17%
  • 3(a). Milestone 1: Type checking for a subset of μC:
    Specification [milestone 1]
    Start date: Mon Feb 15
    Due date [milestone 1]: 11:59pm Tue Feb 23 Fri Feb 26
    Weight in final grade: 6%

  • 3(b). Complete assignment: Type checking for all of μC:
    Specification [complete assignment]
    Start date: Mon Feb 24Sat Feb 27
    Due date [complete assignment]: 11:59pm Tue March 8
    Weight in final grade: 11%
4. Code Generation Function: Generate assembly code.
Input: source program character sequence;
Output: assembly code instruction sequence.
Weight in final grade: 7+10 = 17%
  • 4(a). Milestone 1: Code generation for a subset of μC:
    Specification [milestone 1]
    Start date: Wed March 23
    Due date [milestone 1]: 11:59pm Tue April 5
    Weight in final grade: 7%

  • 4(b). Complete assignment: Code generation for all of μC:
    Specification [complete assignment]
    Start date: Mon April 11
    Due date [complete assignment]: 11:59pm Tue April 26
    Weight in final grade: 10%