covers the following topics: Modern intermediate representations, Modern
processor architectures, The LLVM IR transform pipeline, Dynamic dispatch and
duck typing Autovectorisation, LLVM intermediate representation, LLVM source
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 note covers the following topics:
Introduction, lexical analysis, LL parsing, LR parsing, JavaCC and JTB, Semantic
analysis, Translation and simplification, Liveness analysis and register
allocation, Activation Records.
This note covers the following topics: Introduction to Compiling, A
Simple One-Pass Compiler, Lexical Analysis, Syntax Analysis, Syntax-Directed
Translation, Type Checking, Run-Time Environments, Intermediate Code Generation,
Code Generation and Code Optimization.
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.
Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurth