Tiger 2016
This is the fifteenth year of the Tiger Project.
We have been helped by:
- Beta testers
Anthony Seure, Rémi Weng
- Assistants
Aurélien Baud, Alexis Chotard, Baptiste Covolato, Arnaud Farbos, Laurent Gourvénec, Frédéric Lefort, Vincent Mirzaian-Dehkordi
- Deliveries for ing1 student:
Stage
Submission
TC-0
2013-12-22
TC-1
2014-02-19
TC-2
2014-03-02
TC-3R
2014-03-16
TC-4E
2014-05-04
TC-5
2014-05-24
TC-6
2014-06-08
TC-7
2014-06-22
TC-8
2014-07-13
TC-9
2014-07-20
- Deliveries for AppIng1 student:
Stage
Submission
TC-0
2013-12-22
Some of the noteworthy changes compared to Tiger 2015:
- Use of even more C++ 2011 features
The compiler introduces the following C++ 2011 features:
(standard) smart pointers (
std::unique_ptr
,std::shared_ptr
);general-purpose initializer lists;
lambda expressions;
explicit
override
’s;template aliases;
new function declarator syntax;
delegating constructors;
non-static data member initializers;
inherited constructors.
The whole set of C++ features used in the Tiger compiler is supported by both GCC 4.8 and Clang 3.3.
- C++ scanner
We introduce a C++ scanner this year, still generated by Flex, but implemented as classes. The management of the scanner’s inputs has been improved and responsibilities shared between the scanner and the driver (
parse::TigerParser
).- More Git Usage
Starting this year, we deliver code with gaps exclusively through the tc-base public Git repository. We no longer provide tarballs nor patches as a means to update students’ code bases.
- Changes in the language regarding object-oriented constructs
The
nil
keyword has been made compatible with objects.- Style
Many stylistics changes have been performed, mainly to match the EPITA Coding Style.