overview of compilationphases of compilation-lexical analysis regular grammer and regular expression for common programing language festures pass and phases fo trancelation interpretation bootstrapping data structures in compilation-LEX lexical analyzer generation.
top down parsing:context free grammers top down parsing-backtracking LL(1).recursive descent parsing.predictive parsing.preprocessing steps required fpr predictive parsing.
bottom up parsing:shift reduce parsing.LR and LALR parsing error recovery in parsing handling ambiguous grammer YASS-automatic parser generator.
semantic analysis:intermediate forms of source programs-abstract syntax tree polish natation and three address codes attributed grammers syntax directed translation.conversion of poppular programming languages.language constructs into intermediate code forms types checker.
symbol tables;symbol table format,organization for block structures languages,hashing, tree structures representation of scope information,block structures and non block structure storage allocation static,runtime stact and heap storage allocation,storage allocation for arrays,strings and records.
code optimization:consideration for optimization scope of optimization local optimization loop optimization frequency reduction folding DAG representation.
data flow analysis:flow graph data flow equation global optimization redundant sub expression elimination induction variable elements live variable analysis copy propagation.
object code generation:object code forms machine dependent code optimization register allocation and assignment generic code genaration algorithms,DAG for register allocation.
introduction:language processors,the structure of a compiler,the science of building a compiler,programming language basics.
lexical analysis:the role of the lexical analyzer,input buffering recognition of tokens.the lexical analyzer generqation lex.finite automata,from regular expressions to automata,design of a lexical-analyzer generator,optimization of DFA-based pattern matchers.
syntax analysis:introduction,context-free grammers,writing a grammer top-down parsing bottom-up parsing introduction to LR parshing;simple LR more powerful LR parsers using ambiguous grammers,parser generation.
syntax-directed translayion:syntax-derected definition evaluation orders for SDD’s application of msyntax-directed translation syntax-direction translation schemes and implementing L-attributed SDD’s.
intermediate-code generation:variants of syntax trees,three-address code,types and declerations type checking,control flow,back patching.switch-statements,intermediate code for procedures.
run-time environments:storage organization,stack allocation space,accesse to nonlocal data on the stack,heap management,introduction to garbage collection introduction to trace-based collection.
code generation:issues in the design of a code generation,the target language,address in the target code basic block and flow graphs,optimization of basic blocks,a simple code generator,peephole optimization,register allocation and assignment,dynamic programming code-generation.
machine-independent optimizations:the princepal source of optimization,introduction to data-flow analysis,foundations of data-flow analysis,constant propagation,partial-redundancy elimination,loops in flow graphs.