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
- Regular - Programming Projects 60%
- Regular - Class Participation 10%
- 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.