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
Post a Comment