COURSE OUTLINE: COSC456
Analysis of Programming Languages
Instructor: Daniel Bidwell
Winter 1999

Course Content and Objectives

A practical application of the theory of parsing covering: LL grammars, LR grammars, and how to generate parse tables for each. A major programming project will involve writing a parser generator which includes both LL and LR parse methods.

Textbooks

Compilers: Principles, Techniques, and Tools by Aho, Alfred, Ravi, Sethi, and Ullman, Jeffrey. Addison Wesley, 1986.

Prerequisites: COSC163

Class Requirements and Grading

     Final Grade Distribution
      100 - 93 A
       92 - 90 A-
       89 - 87 B+
       86 - 83 B
       82 - 80 B-
       79 - 75 C+
       74 - 70 C
       69 - 65 C-
       64 - 50 D

80% attendance is required to receive a successful audit

Final Grade Distribution

  1. Regular - Programming Projects 60%
  2. Regular - Class Participation 10%
  3. Exams - Midterm & Final 30%

Class Work - Description

Regular Class Work

This consists of writing LL and LR parser generators. All homework will be turned in electronically.

Exams

A midterm will be given over the LL parsing methods while the final will be over LR parsing methods. Each exam will be worth 15% of the grade.

Course Topics

Terminal Symbols.

Non-terminal Symbols.

Null Deriving Symbols.

Left Recursive Symbols.

Right Recursive Symbols.

Choice Sets.

Decision Tables.

LR(0) Sets.

LR Tables.

LR Table Compression.

Course Level

This class is taught for the junior or senior Computer Science major, or graduate level student taking a Computer Science Masters degree.