Noeud « Next »: , Noeud « Previous »: Tiger 2003, Noeud « Up »: History



1.4.4 Tiger 2004

During this year, I was helped by:

Comaintainers
Alexandre Duret-Lutz, Raphaël Poss, Robert Anisko, Yann Régis-Gianas,
Assistants
Arnaud Dumont, Pascal Guedon, Samuel Plessis-Fraissard,
Students
Cédric Bail, Sébastien Broussaud (Darks Bob), Stéphane Molina (Kain), William Fink.

Delivery date were:

T2 Tuesday, March 4th 2002 at noon
T3 Friday, March 15th 2002 at noon
T4 Friday, April 12th 2002 at noon
T5 Friday, June 14th 2002, at noon
T6 Monday, July 15th 2002 at noon

Criticisms include:

The driver is not maintainable
The compiler driver was a nightmare to maintain, extend etc. when delivering additional modules etc. This was fixed in 2005 by the introduction of the Task model.
No sane documentation
This was addressed by the use of Doxygen in 2005.
No UML documentation
The solution is yet to be found.
Too many visitors
It seems that some students think there were too many visitors to implement. I do not subscribe to this view (after all, why not complain that “there are too many programs to implement”, or, in a more C++ vocabulary “there are too many classes to implement”), nevertheless in Tiger 2005 this was addressed by making the EscapeVisitor “optional” (actually it became a rush).
Too many memory leaks
The only memory properly reclaimed is that of the ast. No better answer for the rest of the compiler. This is the most severe flaw in this project, and definitely the worst thing to remember of: what we showed is not what student should learn to do. Note too, that even though using a garbage collector is tempting and well suited for our tasks, its pedagogical content is less interesting: students should be taught how to properly manage the memory.
Upgraded tarballs don't compile
Filling holes is not interesting
Cannot be solved, see Tiger 2003.
Ending on T6 is frustrating
Several students were frustrated by the fact we had to stop at T6: the reference compiler did not have any back-end. Continuing onto T7 was offered to several groups, and some of them actually finished the compiler. We took there work, adjusted it, and it became the base of the reference compiler of 2005. The most significant effort was made by Daniel Gazard.
Double delivery is intractable
Students were allowed to deliver twice their project — with a small penalty — if they failed to meet the so-called “first delivery deadline”, or if they wanted to improve their score. But it was impossible to organize, and led to too much sloppiness from some students. These problems were addressed with the introduction of “uploads” in Tiger 2005.