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 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. Context Sensitive features – Chomsky hierarchy of languages and recognizers. Type checking, type conversions, equivalence of type expressions, overloading of functions and operations
Symbol table, 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, optimization techniques
Code generation : Machine dependent code generation, object code forms, generic code generation algorithm, Register allocation and assignment. Using DAG representation of Block
Reference Book:
Tremblay J P, Sorenson G P: “The Theory & Practice of Compiler writingâ€, 1st Edition, BSP publication, 2010. Appel W & Andrew G M: “Modern Compiler Implementation in Câ€, 1st Edition, Cambridge University Press, 2003. Louden:“Compiler Construction, Principles &Practiceâ€, 1st Edition, Thomson Press, 2006. Sipser Michael: “Introduction to Theory of computationâ€, 1st Edition, Thomson, 2009
Text Book:
John E. Hopcroft, Rajeev M & J D Ullman: “Introduction to Automata Theory Languages &Computationâ€, 3rd Edition, Pearson Education, 2007. Aho, Ullman, Ravisethi: “Compilers Principles, Techniques and Toolsâ€, 2nd Edition, Pearson Education, 2009