Compiler Design - CS25C18

[ 4th Semester - CSE(CY) - Computer Science and Engineering (Cyber Security) Department ]

Under Class: | 4th Semester [CSE(CY) Dept Anna University 2025 Regulation] |

Compiler Design - CS25C18 - Study Materials, Notes, Important Questions, Anna University Semester Question Paper PDF Download

Engineering - Compiler Design - CS25C18 Subject (under Anna University 4th Semester - CSE(CY) - Computer Science and Engineering (Cyber Security) Department Regulation 2025) - Study Materials, Written and lecture Notes, Important Questions, Semester Question Paper PDF Download




 

CS25C18:

Compiler Design

 

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.

 

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

Suggested 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.

 

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

Suggested 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

 

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

Suggested Activities:

Poster Presentation: Design posters illustrating the role of parsers using popular tools

Solving Exercises: Give some example problems to construct the parsing tables.

 

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

Suggested Activities:

Solving exercises: Solve the example problems in implementation of three address code part.

Seminar : All intermediate codes during compilation

 

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.

Suggested Activities:

Seminar: Advanced topics in Garbage Collection.

Quiz: Test understanding of storage allocation strategies.

 

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

Suggested 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

 

Assessment Weightage:

Weightage:Continuous Assessment: 40%

• Activities: 10%

• Internal Test – 1&2: 30%

End Semester Theory Examination: 60%

Mandated Activities with marks:

Assignments (30), Quiz (10), Project based learning (25), Flipped Classroom (10), Review of GATE questions (25).

Internal Examinations: TWO tests

 

References:

1. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd Edition, Pearson, 2023.

2. Keith D. Cooper, Linda Torczon, Engineering a Compiler, 3rd Edition, Morgan Kaufmann, 2022.

3. Chattopadhyay S. Compiler Design. 2nd ed. PHI Learning; 2022.