CS25C18 Compiler Design – Semester IV – CSE(DS) / CSE(IoT) / CSE(Cyber) / CSE(AI&ML) – R-2025

Subject Code & Name: CS25C18 – Compiler Design

Regulation: R-2025

Semester: IV (Fourth Semester)

Branch: B.E. Computer Science and Engineering (Data Science) (CSE(DS)) / B.E. Computer Science and Engineering (Internet of Things) (CSE(IoT)) / B.E. Computer Science and Engineering (Cyber Security) (CSE(Cyber)) / B.E. Computer Science and Engineering (Artificial Intelligence and Machine Learning) (CSE(AI&ML))

Credits / L-T-P: 3 Credits | L-T-P: 3-0-0

Course Objectives

  • This course focuses on analyze the intricate process by which high-level programming languages are transformed into low-level machine code and facilitates the synthesis of knowledge regarding diverse compiler construction phases.

Full Unit-wise Syllabus

Unit I – Basics of Compiler and Lexical Analysis

Language Processors – Structure of a Compiler – Grouping of phases, Compiler construction tools – Applications of Compiler Technology – Lexical Analysis – Role of Lexical Analyzer – Input Buffering – Specification of Tokens – Recognition of Tokens – Lexical-Analyzer Generator Lex.

Activities: Identify the errors: Present code snippets with lexical errors. Ask students how a lexical analyzer would typically handle these errors; Debugging: Encourage them to experiment with different input strings and debug their Lex specifications.

Unit II – Top-Down Parser

Parser – Role of parser – Context-Free Grammars – Writing a Grammar – Top-Down Parsing – Recursive-Descent Parsing – FIRST() and FOLLOW() – LL(1) Grammars – Non-recursive Predictive Parsing.

Activities: Solve the exercises: Encourage the student to find the FIRST() and FOLLOW(); Discussion: Students prepare and present short videos explaining about the top down parser.

Unit III – Bottom-Up Parser

Bottom-Up Parsing – Basics of LR Parsing: Simple LR – Canonical LR – Look-Ahead LR – Example Problems of all LR parser.

Activities: Poster Presentation: Design posters illustrating the role of parsers using popular tools; Solving Exercises: Give some example problems to construct the parsing tables.

Unit IV – Syntax Directed Translation and Intermediate Code Generation

Syntax Directed Translation – Syntax-Directed Definitions – Evaluation Orders for SDD’s – Intermediate Code Generation – Variants of syntax trees – Three Address Code – Types and Declarations – Translation of Expressions – Type Checking – Control Flow.

Activities: Solving exercises: Solve the example problems in implementation of three address code part; Seminar: All intermediate codes during compilation.

Unit V – Code Generation and Storage Management

Issues in the design of a code generation – The target Language – Addresses in the Target code – A simple code Generator – Run-Time Environments: Storage organization – Stack allocation of space – Heap Management – Basics of garbage collection.

Activities: Seminar: Advanced topics in Garbage Collection; Quiz: Test understanding of storage allocation strategies.

Unit VI – Machine Independent Optimization

Basic Blocks and Flow Graphs – Optimization of Basic Blocks – Peephole Optimization – The Principal Sources of Optimization – DAG – loops in flow graphs.

Activities: Diagram aid: Draw the flow graphs for the optimization of basic blocks concept using any recent tool; Quiz: Test concepts of basic blocks, flow graphs, and code optimization.

Course Outcomes (COs)

  • CO1: Describe the fundamental concepts, phases, and design principles involved in the construction of compilers for programming languages.
  • CO2: Analyze lexical, syntax, and semantic analysis techniques to understand the processing and translation of source programs into executable forms.
  • CO3: Evaluate parsing methods, code optimization techniques, and runtime environments to assess their efficiency and suitability in compiler construction.
  • CO4: Design compiler components by selecting appropriate algorithms and techniques for lexical analysis, parsing, code generation, and optimization.

Assessment Pattern (Quick Note)

  • Weightage: Continuous Assessment 40% | End Semester Theory Examination 60%
  • Internal methodology: Activities 10% (Assignments 30, Quiz 10, Project based learning 25, Flipped Classroom 10, Review of GATE questions 25), Internal Test – 1 & 2: 30% (TWO tests)

Source: Official Anna University – B.E. Computer Science and Engineering (Artificial Intelligence and Machine Learning) R-2025 Syllabus
Last Updated: October 2026

Comments