Tiger Project Assignment
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover texts and with the no Back-Cover
Texts. A copy of the license is included in the section entitled
GNU Free Documentation License.
- Introduction
- Instructions
- Source Code
- Compiler Stages
- Stage Presentation
- TC-1, Scanner and Parser
- TC-2, Building the Abstract Syntax Tree
- TC-3, Bindings
- TC-R, Unique Identifiers
- TC-E, Computing the Escaping Variables
- TC-4, Type Checking
- TC-D, Removing the syntactic sugar from the Abstract Syntax Tree
- TC-L, LLVM IR
- TC-I, Function inlining
- TC-B, Array bounds checking
- TC-A, Ad Hoc Polymorphism (Function Overloading)
- TC-O, Desugaring object constructs
- TC-C, Combine language extensions
- TC-5, Translating to the High Level Intermediate Representation
- TC-6, Translating to the Low Level Intermediate Representation
- TC-7, Instruction Selection
- TC-8, Liveness Analysis
- TC-9, Register Allocation
- TC-X, IA-32 Back End
- TC-Y, ARM Back End
- Tools
- Programming Environment
- Modern Compiler Implementation
- Bibliography
- The GNU Build System
- GCC, The GNU Compiler Collection
- Clang, A C language family front end for LLVM
- GDB, The GNU Project Debugger
- Valgrind, The Ultimate Memory Debugger
- RE/Flex & Bison
- HAVM
- LLVM
- Boost Graph Library
- Nolimips
- SPIM
- SWIG
- Python
- Doxygen
- Docker
- Nix
- Tiger Compiler Reference Manual
- Archive