Final
Topics
The final exam is cumulative. Any topic covered in the class is fair game.Quiz 4
Topics
- Calling conventions
- Callee saved/caller saved registers
- Stack alignment
Compiler Toolchains
- Assemblers
- Linkers
- Loaders
Control Flow Graphs
- Basic Blocks
- Edge Types
- Dominators
- Static Single Assignment (SSA) Form
- Φ-nodes
Dataflow
- Dead Code Elimination
- Constant Folding
- Copy/Constant Propagation
Final Code Optimization
- Peephole optimization
- Interference graphs
- Register allocation
- Instruction selection
- Instruction strength reduction
Heap Management
- Allocating Heap Memory
- Garbage Collection
- Reference Counting
- Mark and Sweep
+Enough 3AC and X64 to answer questions about the above topics
Quiz 3
Topics
Reference Pages (will be included with the quiz):Refererence pages
IR Concepts
- Purposes of IRs
- Translating IRs
- Specific IR examples
- ASTs
- 3AC
Runtime environment concepts
- What runtime environment are
- What runtime environments are used for
- Examples of runtime environments
Architecture details
- Binary encoding
- x64 instructions
- x64 data representation
- hand-coded x64 programs
Allocation schemes
- Static allocation
Assembly code
- x64 programming
- Implementating source-language constructs
- The System V ABI
Quiz 2
Topics
- Bison
- LL(1) Parsing
- Using an LL(1) Parser
- Building an LL(1) Parser
- LR Parsing
- Using an LR Parser
- Building an SLR Parser
- Stack Items
- Closure Sets
- GoTo Sets
- Grammar transformations
- Left-Recursion Elimination
- Left Factoring
- FIRST Sets
- FOLLOW Sets
- Top-Down SDT / SDT for LL(1) Grammars
- ASTs / Building ASTs from Parse Trees
- Name Analysis
- Dynamic Scope / Static Scope
- Shadowing
- Overriding
- Type Analysis / Type Checking
Quiz 1
Topics
- Phases of the compiler
- Regex to NFA-with-epsilon-transitions
- NFA epsilon elimination
- epsilon-closure sets
- Rabin-Scott Powerset Construction (NFA to DFA)
- Regular Expressions
- DFAs
- State transition tables
- Tokenizers
- Flex patterns
- Context-Free Grammars
- Ambiguous Grammars
- Fixing Precendence in CF Grammars
- Fixing Associativity in CF Grammars
- Backus Normal Form Notation
- Parse Trees
- Syntax-Directed Definitions
- Syntax-Directed Translation