How to Read this Document

If you are a newcomer, you might be afraid by its sheer size. Don’t worry, but in any case, do not give up: as stated in the very beginning of this document,

Nul n’est censé ignorer la loi

That is to say everything exposed in this document is considered to be known. If it is written but you didn’t know, you are wrong. If it is not written and was not clearly reported in the news, we are wrong.


Tiger is an old project. Some information you’ve seen online or heard from previous promotions may be outdated. Always refer to assignments, news, the maintainers and Etienne over everything else.

Basically this document contains three kinds of information:

There is additional material:
  • A few copies of Modern Compiler Implement in ML, the book on which is based the project, can be found in the assistants’ lab.

  • |lre-tiger| holds some interesting materials for Tiger (e.g., links and lecture notes).

  • The public git repositories for Tiger, including assignments itself, tc-base and frameworks can be found on the gitlab.

  • You should use your THL lecture notes and ressources to make a good start into the project. Public ressource are also available online, like Akim’s series of videos here. THL 8 & 9 are very relevant for Tiger.

  • For good c++ documentation and guidelines, take a look at cppreference and cppcoreguidelines.