📘 ATCD

AUTOMATA THEORY AND COMPILER DESIGN

Access study materials and notes for this subject

ATCD Unit 1: Introduction To Finite Automata

PDF Document

ATCD Unit 2: Regular Expressions and Context-Free Grammars

PDF Document

ATCD Unit 3: Push Down Automata And Turing Machines

PDF Document

ATCD Unit 4: Introduction To Compiler Design

PDF Document

ATCD Unit 5: Advanced Compiler Design

PDF Document

ATCD Basics

PDF Document

Syllabus Overview

UNIT - 1: Introduction to Finite Automata

Structural Representations

  • Automata and Complexity
  • Central Concepts of Automata Theory – Alphabets, Strings, Languages, Problems

Nondeterministic Finite Automata

  • Formal Definition
  • Application
  • Text Search
  • Finite Automata with Epsilon-Transitions

Deterministic Finite Automata

  • Definition of DFA
  • How A DFA Process Strings
  • The Language of DFA
  • Conversion of NFA with €-transitions to NFA without €-transitions
  • Conversion of NFA to DFA

UNIT - 2: Regular Expressions and Context-Free Grammars

Regular Expressions

  • Finite Automata and Regular Expressions
  • Applications of Regular Expressions
  • Algebraic Laws for Regular Expressions
  • Conversion of Finite Automata to Regular Expressions

Pumping Lemma for Regular Languages

  • Statement of the pumping lemma
  • Applications of the Pumping Lemma

Context-Free Grammars

  • Definition of Context-Free Grammars
  • Derivations Using a Grammar
  • Leftmost and Rightmost Derivations
  • The Language of a Grammar
  • Parse Trees
  • Ambiguity in Grammars and Languages

UNIT - 3: Push Down Automata and Turing Machines

Push Down Automata

  • Definition of the Pushdown Automaton
  • The Languages of a PDA
  • Equivalence of PDA and CFG’s
  • Acceptance by final state

Turing Machines

  • Introduction to Turing Machine
  • Formal Description
  • Instantaneous description
  • The language of a Turing machine

Undecidability

  • Undecidability
  • A Language that is Not Recursively Enumerable
  • An Undecidable Problem That is RE
  • Undecidable Problems about Turing Machines

UNIT - 4: Introduction to Compiler Design

The structure of a compiler

Lexical Analysis

  • The Role of the Lexical Analyzer
  • Input Buffering
  • Recognition of Tokens
  • The Lexical- Analyzer Generator Lex

Syntax Analysis

  • Introduction
  • Context-Free Grammars
  • Writing a Grammar
  • Top-Down Parsing
  • Bottom- Up Parsing
  • Introduction to LR Parsing: Simple LR, More Powerful LR Parsers

UNIT - 5: Advanced Compiler Design

Syntax-Directed Translation

  • Syntax-Directed Definitions
  • Evaluation Orders for SDD's
  • Syntax-Directed Translation Schemes
  • Implementing L-Attributed SDD's

Intermediate-Code Generation

  • Variants of Syntax Trees
  • Three-Address Code

Run-Time Environments

  • Stack Allocation of Space
  • Access to Nonlocal Data on the Stack
  • Heap Management
AUTOMATA THEORY AND COMPILER DESIGN Notes