Acd Syllabus
Acd Syllabus
Course Objectives:
Automata and compiler Design mainly deals with the languages which are formal and
regular and also deals with grammar present in the machine.
An compiler is a program that accepts a program in source language and converts into a
machine understandable format.
The push down automata is the major one it's a five tuple set containing states, alphabets,
transition function and accept states.
MODULE-I
Formal Language and Regular Expressions: Languages, Definition Languages regular
expressions, Finite Automata – DFA, NFA. Conversion of regular expression to NFA, NFA to
DFA. Applications of Finite Automata to lexical analysis, lex tools
Context Free grammars and parsing: Context free grammars, derivation, parse trees,
ambiguity LL(K) grammars and LL(1) parsing
MODULE - II:
Bottom up parsing handle pruning LR Grammar Parsing, LALR parsing, parsing ambiguous
grammars, YACC programming specification
Semantics: Syntax directed translation, S-attributed and L-attributed grammars, Intermediate
code – abstract syntax tree, translation of simple statements and control flow statements.
MODULE-III
Bottom up parsing handle pruning LR Grammar Parsing, LALR parsing, parsing ambiguous
grammars, YACC programming specification.
MODULE - III
Context Sensitive features – Chomsky hierarchy of languages and recognizers. Type
checking, type conversions, equivalence of type expressions, overloading of functions and
operations
MODULE - IV
Run time storage: Storage organization, storage allocation strategies scope access to now
local names, parameters, language facilities for dynamics storage allocation.
Code optimization: Principal sources of optimization, optimization of basic blocks, peephole
optimization, flow graphs, Data flow analysis of flow graphs.
MODULE - V:
Code generation: Machine dependent code generation, object code forms, generic code
generation algorithm, Register allocation and assignment. Using DAG representation of Block
88
TEXT BOOKS:
1. Introduction to Theory of computation.Sipser, 2nd Edition, Thomson.
2. Compilers Principles, Techniques and Tools Aho, Ullman, Ravisethi, Pearson Education.
REFERENCES:
1. Modern Compiler Construction in C , Andrew W.Appel Cambridge University Press.
2. Compiler Construction, LOUDEN, Thomson.
3. Elements of Compiler Design, A. Meduna, Auerbach Publications, Taylor and Francis Group.
4. Principles of Compiler Design, V. Raghavan, TMH.
Outcomes:
Graduate should be able to understand the concept of abstract machines and their power to
recognize the languages.
Attainsthe knowledge of language classes & grammars relationship among them with the help of
chomsky hierarchy.
Ability to understand the design of a compiler given features of the languages.
Ability to implement practical aspects of automata theory.
Gain knowledge of powerful compiler generation tools.
89