IT3202-Automata Theory & Compiler Design-COURSE HANDOUT-2024
IT3202-Automata Theory & Compiler Design-COURSE HANDOUT-2024
A. Introduction: The objective of this course is to make the students familiar with the fundamental area of computer
science which will enable the students to focus on abstract models of computation. The course exposes students to
the computability theory. The goal is to allow them to answer fundamental questions about problems, such as
whether they can or cannot be computed. The objective is also to make the students familiar with the different types
of automata with its designing approach as well as various phases of compilation process of any source code.
Throughout the semester they will learn about lexical analysis, different types of parsing techniques, code generation
and optimization. The goal is to allow them to answer in detail about how a compiler works and how it reports to
its user’s various types of errors.
Vision:
To achieve global excellence in higher education, research, and human development by adapting innovations
in IT domain.
Mission:
1. To become the most inspirational department among the students and engineering aspirants who want to pursue
their career in the field of Information Technology.
2. To foster academic, research, and professional excellence within the domain of Information Technology.
3. To transform young minds into competent IT professionals imbibing strong moral values.
PEO1: Confidently demonstrate the required logical and technical problem-solving skills and technical
competence to work in the field of IT and IT enabled services.
PEO2: Specify, analyse, design, and implement prototypes and working solutions for a wide range of real-
life problems within the specified constraints.
PEO3: Pursue higher studies, grow in the direction of research and development, pave a way forward in the
field of entrepreneurship while demonstrating remarkable professionalism, confidence, and a sense of
responsibility.
PEO4: Engage in life-long learning, communicate effectively, and exhibit leadership skills.
PEO5: Demonstrate sensitivity towards ethical and environmental issues, and social responsibilities.
D. PROGRAM OUTCOMES AND PROGRAM SPECIFIC OUTCOMES
[PO.1]. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an
engineering specialization to the solution of complex engineering problems.
[PO.2]. Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering
sciences
[PO.3]. Design/development of solutions: Design solutions for complex engineering problems and design system
components or processes that meet the specified needs with appropriate consideration for the public health
and safety, and the cultural, societal, and environmental considerations
[PO.4]. Conduct investigations of complex problems: Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.
[PO.5]. Modern Tool Usage: Create, select, and apply appropriate techniques, resources, and modern engineering
and IT tools including prediction and modeling to complex engineering activities with an understanding of the
limitations.
[PO.6]. The Engineers and Society: Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal, and cultural issues and the consequent responsibilities relevant to the professional
engineering practice.
[PO.7]. Environment and Sustainability: Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development.
[PO.8]. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the
engineering practices.
[PO.9]. Individual and Teamwork: Function effectively as an individual, and as a member or leader in diverse
teams, and in multidisciplinary settings.
[PO.10]. Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear instructions.
[PO.11]. Project Management and Finance: Demonstrate knowledge and understanding of the engineering and
management principles and apply these to one’s own work, as a member and leader in a team, to manage
projects and in multidisciplinary environments.
[PO.12]. Life-long Learning: Recognize the need for and have the preparation and ability to engage in independent
and life-long learning in the broadest context of technological change.
[PSO.2]To participate & succeed in IT oriented jobs/competitive examinations that offer inspiring & gratifying careers.
[PSO.3]To recognize the importance of professional developments by pursuing postgraduate studies and positions.
E. Assessment Plan:
Criteria Description Maximum Marks
MTE 30
Internal Assessment
(Summative) Quiz – 3 (Average of best 2) 20
F. Syllabus
Introduction: Automata Theory, Mathematical Preliminaries and Notations used in Automata Theory, Basics of Set
Theory, Function and Relations; Finite Automata: Deterministic and Non-Deterministic Finite Automata, Mealy
and Moore Machines; Regular Languages and Regular Grammars: Regular Sets, Chomsky Hierarchy, Regular
Expressions, Regular Grammar, Pumping Lemma for Regular Languages; Context Free Languages and
Grammars: Ambiguity, Methods for Transforming Grammars; Push Down Automata: Context Free Languages,
Non-Deterministic Push Down Automata and Deterministic Push Down Automata, Design of NPDA and DPDA;
Introduction to Turing Machine: Basics of Turing Machine, Variations of Turing Machines; Introduction to
Compiler Design: Structure of a Compiler, Lexical Analysis, Recognition of Tokens; Introduction to LR Parsing:
Simple LR, More Powerful LR Parsers Generators; Semantic Analysis: Syntax Directed Translations; Basics of Storage
Organization.
G. Textbooks
T1. An Introduction to Formal Languages and Automata – Peter Linz, Jones and Bartlett Publishers, 6th Edition,
2016, ISBN: 9384323217.
T2. Compilers: Principles, Techniques and Tools – Alfred V Aho, Monica S Lam, Ravi Sethi, Jeffrey D Ullman,
Pearson Education, 2nd Edition, 2007, ISBN: 9332518661.
H. Reference Books
R1. Introduction to Automata Theory, Languages and Computations – J. E. Hopcroft, R. Motwani, J. D. Ullman,
Pearson Education India, 3rd Edition, 2008, ISBN: 9788131720479.
R2. Introduction to Languages and the Theory of Computation – John C Martin, Tata McGraw Hill, 4th Edition,
2010, ISBN: 0073191469.
R3. Theory of Computer Science: Automata, Languages and Computation – K.L.P. Mishra, N. Chandrashekharan,
PHI, 3rd Edition, 2006, ISBN: 9788120329683
I. Lecture Plan:
15-16 Epsilon NFA, Epsilon NFA to NFA conversion Understand the application of NFA Lecture, 3202.1 In Class Quiz,
Practice 3202.2 Home Assignment,
questions Mid Term, End Term
17-19 Design of FA with output: Construction of Mealy and Moore Understand the design principles of Mealy and Lecture, 3202.1 In Class Quiz, Quiz-1
Machine and their equivalence Moore machines Practice 3202.2 Home Assignment,
questions Mid Term,
End Term
20-21 Regular Expression & Regular Languages: Identities of Understand the properties of regular languages Lecture, 3202.1 In Class Quiz,
Regular Expression, Regular Language to Regular Expression and regular expression. Practice 3202.2 Home Assignment,
and Regular Expression to Regular Language questions Mid Term,
End Term
22-23 Equivalence of Finite Automata and Regular Expressions (FA to Understand the equivalence between FA and Lecture, 3202.1 In Class Quiz,
RE (Arden’s Theorem), and RE to FA), Equivalence of Finite RE, FA and regular grammar. Practice 3202.2 Home Assignment,
Automata and Regular Grammar (FA to RG and RG to FA) questions Mid Term,
End Term
24-25 Identifying non-regular languages using Pumping Lemma Apply pumping lemma to identify non-regular Lecture, 3202.1 In Class Quiz,
languages. Practice 3202.2 Home Assignment,
questions Mid Term,
End Term
26-28 Context Free Grammar (CFG) and Context Free Understand the properties of CFLs. Lecture, 3202.1 In Class Quiz,
Language: Construction of CFG, Derivation trees, Ambiguity Practice 3202.3 Home Assignment,
in CFGs, Left Recursion, Left Factoring questions Mid Term,
End Term
29-31 Simplification of CFGs, Normal Forms for CFGs: CNF, Understand the normal forms of CFGs. Apply Lecture, 3202.3 In Class Quiz,
Pumping Lemma for CFGs pumping lemma to identify non-CFLs. Practice Home Assignment,
questions Mid Term,
End Term
32-33 Pushdown Automata (PDA): Definition, Instantaneous Design pushdown automata and understanding Lecture, 3202.1 In Class Quiz, Quiz-2
Description, Language of PDA, Acceptance by final state and the properties of its variants. Practice 3202.3 Home Assignment,
empty state, PDA Designing, Types of PDA: NPDA and DPDA, questions Mid Term,
End Term
34-35 Equivalence of PDA and CFGs: PDA to CFGs, CFGs to PDA, Understand the equivalence between PDA and Lecture, 3202.3 In Class Quiz,
Two Stack PDA CFGs. Practice Home Assignment,
questions End Term
36-38 Introduction to Turing machines: basic model, Design of Turing machines, application of Turing Lecture, 3202.4 In Class Quiz,
instantaneous description, design of Turing machines, Language machines and understanding the properties of Practice Home Assignment,
acceptance by TM, properties of recursive and recursively recursive and recursively enumerable languages. questions End Term
enumerable languages.
39-40 Introduction to compilers: structure and phases of a Summarize the structure and roles of each Flipped 3202.5 In Class Quiz,
compiler, lexical analysis phase of a compiler phase of a compiler. Illustrate the role of a Classroom Home Assignment,
lexical analyser. End Term
41-43 Introduction to syntax analysis and parsing, computing FIRST Understand the working principles of Top-down Lecture, 3202.5 In Class Quiz, Quiz-3
and FOLLOW, LL(1) parsers. Practice 3202.6 Home Assignment,
questions End Term
44-49 LR(0), SLR(1), CLR(1) and LALR(1) parsing Develop and compare the working principles of Lecture, 3202.5 In Class Quiz,
different types of bottom-up parsers. Practice 3202.6 Home Assignment,
questions End Term
50-52 Introduction to Syntax directed translations, S-attributes, I- Understand and develop syntax directed Lecture, 3202.5 In Class Quiz,
attributes and L-attributes, Building annotated trees translation scheme and annotated trees Practice 3202.6 Home Assignment,
questions End Term
53-54 Type Checking: Rules for Type Checking, Storage Understanding concepts of type checking and its Flipped 3202.5 In Class Quiz,
Organization. various rules. Summarize the storage Classroom 3202.6 Home Assignment,
organization. End Term
J. Course Articulation Matrix: (Mapping of COs with POs)