Institution Details:
Noida Institute of Engineering and Technology, Greater Noida
Course: Compiler Design
Assistant Professor: Rohit Chaudhary
Date: 12/22/2024
Faculty Information:
Name: Rohit Chaudhary
Designation: Assistant Professor, CSE Department
Qualifications:
B.Tech from GBTU (2010)
M.Tech (CSE) from Galgotias University (2013)
Teaching Experience: 8 years
Research Publications: 12
Publications:
Journals (UGC) - 2 International, 1 National
Conference (IEEE) - 1
Evaluation Scheme:
Semester-wise Course Codes, Total Credits, and Evaluation Breakdown for subjects including Database Management, Compiler Design, and Electives.
Syllabus Overview:
Unit Topics:
Introduction to Compiler
Phases and Passes
Lexical Analysis
Syntax Analysis and Parsing Techniques
Sub-Topics:
Lexical-Analyzer Generator (LEX)
Context-Free Grammars (CFG)
Parsing Methods: Shift-Reduce, Top-Down
Application of Compiler Technology:
Binary translation technology for software portability
Uses in High-Level Programming Implementations and Optimization of Architecture
Course Objectives:
Understanding translation of high-level languages to executable code
Fundamental principles in compiler design and skills for building compilers
Code generation and optimization techniques
Course Outcomes:
Knowledge of compiler phases and tools (LEX, YACC)
Understanding parsing techniques and table constructions
Runtime data structure management
Program Outcomes (PO):
Emphasis on Engineering Knowledge, Design Solutions, Ethics, Teamwork, Communication
CO-PO Mapping:
Correlation between Course Outcomes and Program Outcomes across various parameters.
Program Specific Outcomes (PSO):
Diverse IT-related competencies for solving real-world problems
Lifelong learning practices for innovative careers
CO-PSO Mapping:
Course Outcomes aligned with Program Specific Outcomes reflecting knowledge application.
Program Educational Objectives (PEO):
Focus on scientific breadth, career success, effective communication, ethical values
Result Analysis:
Summary of results for faculty and department with individual performance highlighted.
End Semester Question Paper Template:
Format for the Compiler Design exam with specified sections and marks distribution.
Grammar and Compiler Basics:
Compilation overview and processing stages described.
Overview of high-level language parsing components and flow graphs.
Subject Overview:
Introduction to Compiler Design principles, translation, and optimization processes.
Unit Content:
Key topics including Symbol Tables, Run-Time Administration, Error Detection.
Topic Objectives:
Understanding symbol tables and runtime administration including algorithms for storage allocation.
Symbol Table Overview:
Definition and importance of symbol tables in managing names and values in compilers.
Data Structures for Symbol Tables:
Various options such as Arrays, Hash Tables, Linear Lists, and their operational methodologies.
Detailed descriptions of static, stack, and heap storage allocation strategies.
Comparative Analysis of Allocations:
Differences between static, stack, and heap allocation methods described.
Error Detection and Recovery Processes:
Presenting types of errors, including lexical, syntactic, and semantic errors, recovery strategies including Panic Mode, Phrase Level Recovery, and their implementations.
Quiz and Revision Materials:
Daily quizzes and FAQs related to compiler design principles, symbol tables, and memory management strategies.
Recap and References:
Summary of key concepts in compiler design, overall organizational structure of compilers, and a list of reference books for further study.
Acknowledgement:
Closing remarks and gratitude for participation in the course.