Next: Tiger Language Reference Manual, Up: (dir) [Contents]
This document describes the Tiger project for EPITA students as of January 23, 2018. It is available under various forms:
More information is available on the EPITA Tiger Compiler Project Home Page.
Tiger is derived from a language introduced by Andrew Appel in his book Modern Compiler Implementation. This document is by no means sufficient to produce an actual Tiger compiler, nor to understand compilation. You are strongly encouraged to buy and read Appel’s book: it is an excellent book.
There are several differences with the original book, the most important being that EPITA students have to implement this compiler in C++ and using modern object oriented programming techniques. You ought to buy the original book, nevertheless, pay extreme attention to implementing the version of the language specified below, not that of the book.
• Tiger Language Reference Manual: | The Tiger Language Definition | |
• Language Extensions: | Additional constructions used internally | |
• Predefined Entities: | Primitive Functions and Types | |
• Implementation: | The tc Tiger Compiler
| |
• The Reference Implementation: | The compiler of the LRDE | |
— The Detailed Node Listing — Tiger Language Reference Manual | ||
---|---|---|
• Lexical Specifications: | Tokens | |
• Syntactic Specifications: | EBNF grammar | |
• Semantics: | The meaning of Life, Universe and the rest | |
Semantics | ||
• Declarations: | The semantics of declarations | |
• Expressions: | The semantics of expressions | |
Declarations | ||
• Type Declarations: | Semantics of type constructions | |
• Variable Declarations: | Semantics of variable definitions | |
• Function Declarations: | Function and primitive declaration semantics | |
• Method Declarations: | Method declaration semantics | |
Language Extensions | ||
• Additional Lexical Specifications: | New Tokens | |
• Additional Syntactic Specifications: | EBNF grammar extension | |
• Additional Semantics: | Beyond Life, the Universe and Everything | |
Predefined Entities | ||
• Predefined Types: | Built-in types | |
• Predefined Functions: | Primitives | |
Implementation | ||
• Invoking tc: | Command line options | |
• Errors: | Handling invalid input | |
• Extensions: | Making extensions to your compiler | |
The Reference Implementation |
Next: Tiger Language Reference Manual, Up: (dir) [Contents]