UNIT 1:
Introduction to Finite Automata
Regular Expressions, Identity rules for Regular Expressions
FSA- Deterministic Finite State Automata(DFA)
Non Deterministic Finite State Automata(NDFA)
Non Deterministic Finite State Automata(NDFA)
Pushdown Automata - Languages of a Pushdown Automata
Turing Machines- Languages of Turing Machine
UNIT 2:
Introduction to Compiling, Compilers
The phases – Cousins – The grouping of phases
The role of the lexical analyzer
Input buffering – Specification and Recognition of tokens
Finite automata – Regular expression to finite automata
UNIT 3:
Syntax Analysis, The role of the parser
Context-free grammars, Writing a grammar, Top down parsing, Bottom-up Parsing
Summary of parsers, Tool to generate parser
Semantic Analysis: Type Checking, Type Systems , Specification of a simple type checker
UNIT 4:
Run-Time Environments, Source language issues
Storage-allocation strategies
Intermediate Representation: parse tree, 3 address code and postfix Notation
UNIT 5:
Introduction to optimization techniques – The principle sources of optimization
Next-use information &A simple code generator