Unit I
Overview of Compilation: Compilers and Interpreters: Definition, Objectives, Structure, Overview of Translation. Scanners. Parsers: LL, LR and LALR. Compiler Front-End Development using ANTLR.
Course Name | Compiler Design |
Course Code | 23CSE314 |
Program | B. Tech. in Computer Science and Engineering (CSE) |
Semester | 6 |
Credits | 4 |
Campus | Amritapuri ,Coimbatore,Bengaluru, Amaravati, Chennai |
Overview of Compilation: Compilers and Interpreters: Definition, Objectives, Structure, Overview of Translation. Scanners. Parsers: LL, LR and LALR. Compiler Front-End Development using ANTLR.
Context-Sensitive Analysis: Attribute Grammar, Ad Hoc Syntax Directed Translation. Intermediate Representations. Symbol Tables: Stacks, Hash Table.
Procedure Abstraction: Access Links. Introduction to Optimization: Local Value Numbering, Super local Value Numbering. Data Flow Analysis: Iterative Data-Flow Analysis, SSA. Control Flow Analysis: Eliminating Useless and Unreachable Code.
Pre-Requisite(s): 23CSEXXX Theory of Computation
Course Objectives
Course Outcomes
CO1: Apply theoretical concepts for the analysis of program structure and identify syntax errors.
CO2: Apply theoretical concepts to associate semantic information in the program structure and translate it into
intermediate representations.
CO3: Implement language translation techniques in open-source tools.
CO4: Analyze the design of data structures for compile-time and run-time code generation.
CO5: Apply code optimization algorithms to improve the performance of the translated code.
CO-PO Mapping
PO/PSO | PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | PO8 | PO9 | PO10 | PO11 | PO12 | PSO1 | PSO2 |
CO | ||||||||||||||
CO1 | 2 | 1 | 2 | 1 | 2 | 3 | 2 | |||||||
CO2 | 2 | 3 | 2 | 2 | 3 | 2 | ||||||||
CO3 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | ||||||
CO4 | 2 | 3 | 3 | 3 | 2 | |||||||||
CO5 | 2 | 3 | 3 | 3 | 2 | 3 | 2 |
Evaluation Pattern: 70:30
Assessment | Internal | End Semester |
Midterm | 20 | – |
*Continuous Assessment (Theory) (CAT) | 10 | – |
*Continuous Assessment (Lab) (CAL) | 40 | – |
**End Semester | – | 30 (50 Marks; 2 hours exam) |
*CAT – Can be Quizzes, Assignment, and Reports
*CAL – Can be Lab Assessments, Projects, and Reports
**End Semester can be theory examination/ lab-based examination
Textbook(s)
Cooper, Keith, and Linda Torczon, “Engineering a Compiler”, Third Edition, Elsevier, 2022.
Reference(s)
Parr T. “Language implementation patterns: create your own domain-specific and general programming languages”. Pragmatic Bookshelf; First Edition, 2010.
Mak R. “Writing compilers and interpreters: a software engineering approach”. John Wiley & Sons; Third Edition, 2009.
Appel W Andrew and Jens Palesberg, “Modern Compiler Implementation in Java”, Cambridge University Press, Second Edition, 2002.
Aho, Alfred V., Monica S. Lam, Ravi Sethi, and Jeffrey Ullman, “Compilers: Principles, Techniques and Tools”, Prentice Hall, Second Edition, 2006.
DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.