Skip to Main Content

Compiler Construction: Course Outline

Computer Science

Compiler Construction

A compiler is a computer program which helps you transform source code written in a high-level language into low-level machine language. It translates the code written in one programming language to some other language without changing the meaning of the code. The compiler also makes the end code efficient, which is optimized for execution time and memory space.

The compiling process includes basic translation mechanisms and error detection. The compiler process goes through lexical, syntax, and semantic analysis at the front end and code generation and optimization at the back-end.       

                                       John Smith

Course Content

  • Introduction to interpreter and compiler.
  • Compiler techniques and methodology; Organization of compilers; Lexical and syntax analysis; Parsing techniques.
  • Types of parsers, top-down parsing, bottom-up parsing, Type checking, Semantic analyser, Object code generation and optimization, detection and recovery from errors.

Course Assessment

Sessional Exam

Home Assignments

Quizzes, Project

Presentations

Final Exam

Teaching Methodology

Lectures

Written Assignments

Practical labs

Semester Project

Presentations

Course Learning Outcomes (CLOs)

At the end of the course the students will be able to:

  • Understand the basic techniques used in compiler construction such as lexical analysis, top-down, bottom-up parsing, context-sensitive analysis,        and intermediate code generation
  • Understand the basic data structures used in compiler construction such as abstract syntax trees, symbol tables, three-address code, and stack          machines
  •  Design and implement a compiler using a software engineering approach
  • Use generators (e.g. Lex and Yacc)

Reference Materials