DEPARTMENT OF COMPUTER SCIENCE

COLLEGE OF ENGINEERING, TECHNOLOGY & COMPUTER SCIENCE, TSU

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

  1. The roles of programming language processors.
  2. The process of scanning, parsing, contextual analysis and code generation.
  3. Basic programming techniques used for scanning, parsing and code generation.

 

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