No Certificate / Course on Audit Track
Compiler Construction is a foundational course that explores how high-level programming languages are translated into executable machine code. The course introduces the concepts of interpreters and compilers, focusing on the techniques and methodologies used to design and implement each phase of a compiler. Students learn how source code is analyzed, structured, verified, optimized, and transformed into efficient object code.
Starting with lexical and syntax analysis, the course covers parsing techniques including top-down and bottom-up parsers, followed by semantic analysis and type checking to ensure program correctness. Learners then move on to intermediate representations, code generation, and optimization strategies used to improve performance. The course also emphasizes error detection and recovery, enabling robust compiler design. By the end of the course, students gain a clear understanding of the internal workings of compilers and the practical skills required to build core components of one.
This course has been curated by Riphah International University faculty and staff using publicly available third-party content and Open Educational Resources (OER) for self-paced learning. Learners will engage with curated open-access materials to achieve the course learning outcomes. All third-party content is used under open-access or fair-use policies, while any original materials are developed specifically for this learning experience.
Source and Credits:
Source and Credits 2:
By the end of this course, you will be able to:
This course requires:
A solid understanding of fundamental programming concepts
Knowledge of variables, data types, and control structures
Familiarity with functions, arrays, and basic data structures
Experience with at least one high-level programming language (C, C++, or Java)
Basic understanding of discrete mathematics concepts
Introductory knowledge of formal languages and automata theory
It is recommended for learners who are prepared to implement compiler components and engage with system-level programming concepts.
This course is designed for:
Computer Science and Software Engineering students
Learners interested in programming language development
Students exploring system-level and compiler-related software design
Individuals aiming to understand lexical, syntax, and semantic processing
Those seeking knowledge of code generation and optimization techniques
It is ideal for learners who want to build a strong foundation in language processing and develop the skills required to design efficient and reliable compilers.
Overview of Compiler
Compiler Design Introduction (Video)
Phases of Compiler
Phases of Compiler with examples | Compiler Design (Video)
Tokens, Patterns and Lexemes
Lexical Analysis in Compiler Design with Examples 2 (Video)
Regular Expressions
Regular Expressions in TOC with examples | Formal Definition (Video)
Lexical Analyzer
Lexical Analysis in Compiler Design with Examples (Video)
Finite Automata
What is Automata in TOC | Theory of Computation (Video)
Context-Free Grammar & Derivations
What is Context free grammar in TOC (Video)
Parse Tree & Derivation
Derivation Tree, Parse Tree ,with example in TOC & Compiler design (Video)
Top-Down Parsing
How to Parse SDT (Top Down vs Bottom Up Parsing) (Video)
Bottom-Up Parsing
How to Parse SDT (Video)
First and Follow Set
Find First in Compiler Design | First & Follow | Compiler Design (Video)
Left and Right most Derivation
Derivation | Leftmost Derivation | Rightmost Derivation (Video)
Ambiguous Grammer
Ambiguous Grammar Notes (Video)
Ambiguous Grammar to Unambiguous Grammar Conversion
Converting Ambiguous Grammar into Unambiguous Grammar (Video)
LL (1) Parser
What is LL (1) Parser (Video)
LR (0) Parser
LR (0) Parsing Table (Video)
SLR(1) Parser
SLR (1) Parsing Table (Video)
CLR Parser
CLR Parsing Table | LR(1) Canonical Items (Video)
LALR Parser
LALR Parsing Table | LALR vs CLR | Compiler Design (Video)
Syntax Directed Translation
What is SDT (Syntax Directed Translation) & its Applications (Video)
Symbol Table Management
Symbol Table in Compiler Design (Video)
Intermediate Code Representation
Intermediate Code Generation with example (Video)
Three-address code
Three Address Code in compiler design (Video)
Optimization Techniques
Code Optimization in compiler design (Video)
Peephole Optimization
Peephole Optimization in Compiler (Video)
Error Handling in Compiler
Error Detection and Recovery | Lexical Phase Error | Compiler Design (Video)
Approximately 4.5 Hours
Intermediate
Fully Online (Asynchronous)
Self Paced
Both English & Urdu