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
Text Book:
John E. Hopcroft, Rajeev M & J D Ullman: “Introduction to Automata Theory Languages &Computation”, 3rd Edition, Pearson Education, 2007.