DEPARTMENT OF COMPUTER SCIENCE
COURSE DESCRIPTION FOR COMP
4200(COMPILER CONSTRUCTION
Course
Objectives
The course
objective is to introduce students to the basic concepts of programming
language processors (Compilers & Interpreters). Processors’ basic definitions including
lexical analysis, parsing, contextual analysis, run time organization, and code
generation will be discussed. Also programming aspects of implementing
processors will be introduced.
Course
Prerequisite
Students
taking this course must have successfully completed COMP3560 (old course
number CS356) (introduction to computer theory) with a grade of ‘C’ or better.
Competencies
By the end
of this semester the student should be able to understand
DETAILED COURSE CONTENTS
This is a suggested outline.
Modifications may be required as demanded.
|
Topics and References |
|
Distribute syllabus,
introduce course Levels of Programming Languages, Programming
Language Processors, |
|
Specification of Programming Languages. Case Study. |
|
Language Processors and
Interpreters(Definitions), |
|
Compilation phrases. Compilation passes. |
|
Tokens. Grammars, Regular Expressions
and BNF notations. |
|
Parsing. |
|
Abstract Syntax Tree. |
|
Scanning and case study.
|
|
Contextual Analysis. |
|
Data representation,
Expression evaluation. |
|
Program memory sections(
Static/Global, stack and Heap) |
|
Code generation |