The
goal of the note is to understand how a modern compiler is structured and the
major algorithms used to translate code from high-level to machine language.
Topics covered are: Overview of compilers, Scanners and lexical analysis,
Parsing, Static semantics, type checking, and symbol tables, Runtime
organization and code shape, Code generation - instruction selection and
scheduling, Register allocation, Program analysis, optimization, and program
transformations.
This note explains the following topics, lexical analysis, Syntax analysis and run time environments, Intermediate code generation, Code generation and code optimization.
This note covers compilers and translators, Lexical analysis, Implementation of lexical analyzer, Basic parsing techniques, Syntax analyzer generator, Run time memory management, Error detection and recovery, Code optimization and code generation.
Author(s): Avinav Pathak, Shobhit Institute of
Engineering and Technology Meerut