The
objective of this note is to learn basic principles and advanced techniques of
compiler design. Major topics covered includes: lexical analysis, syntactic
analysis, semantic analysis, abstract syntax tree and code-generation as well as
basic optimizations.
This note aims to teach students the principles involved in
compiler design. It will cover all the basic components of a compiler but not
the advanced material on optimizations and machine code generation.
This
book covers the following topics:Processing Simple Forms of Data, Processing
Arbitrarily Large Data, Abstracting Designs, Generative Recursion, Accumulating
Knowledge, Changing the State of Variables, Changing Compound Values.
Author(s): Matthias
Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurth