Course Title: Compiler Construction
Course Code: CS-4141
Course Structure: Lectures: 3 / Labs: 0
Credit Hours: 3
Prerequisites: CS-3131 (Theory of Automata and Formal Languages)

Course Objectives: 

At the end of the course students will understand the overall structure of a compiler, and will know significant details of a number of important techniques commonly used. They will be aware of the way in which language features raise challenges for compiler builders.

Course Learning Outcomes:

  • Overview of Compilation: Principles of Compilation, Compiler Structure, High-Level View of Translation, Desirable Properties of a Compiler
  • Scanners: Recognizing Words, Regular Expressions, Implementing Scanners
  • Parsers: Expressing Syntax, Top-Down Parsing, Bottom-Up Parsing
  • Context-Sensitive Analysis: Type Systems, Attribute-Grammar Framework, Ad Hoc Syntax-Directed Translation
  • Intermediate Representations: Graphical IRs, Linear IRs, Mapping Values to Names, Symbol Tables
  • The Procedure Abstraction: Procedure Calls, Name Spaces, Communicating Values Between Procedures, Standardized Linkages
  • Code Shape: Assigning Storage Locations, Arithmetic Operators, Boolean and Relational Operators, Storing and Accessing Arrays, Character Strings, Structure References, Control-Flow Constructs, Procedure Calls
  • Code Optimization: Scope of Optimization, Local Optimization, Regional Optimization, Global Optimization, Interprocedural Optimization
  • Data-Flow Analysis: Iterative Data-Flow Analysis, Static Single-Assignment Form, Inter-procedural Analysis

 

Course Assessment

  • Final Term Exam: 50 marks
  • Mid Term Exam: 30 marks
  • Sessionals: 20 mrks
    • Quiz: 05 marks
    • Assignement: 05 marks
    • Presentation: 05 marks
    • Attendance: 05 marks

Class Timings

PPP BSCS 7th D: Monday (12:30 pm - 02:00 pm)  AND Wednesday (02:00 pm - 03:30 pm)

Course Material