During this year, Akim was helped by:
Alexandre Duret-Lutz, Raphaël Poss, Robert Anisko, Yann Régis-Gianas,
Arnaud Dumont, Pascal Guedon, Samuel Plessis-Fraissard,
Cédric Bail, Sébastien Broussaud (Darks Bob), Stéphane Molina (Kain), William Fink.
Tuesday, March 4th 2002 at noon
Friday, March 15th 2002 at noon
Friday, April 12th 2002 at noon
Friday, June 14th 2002 at noon
Monday, July 15th 2002 at noon
- 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
- 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 (Akim) 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.
Though 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.
- Filling holes is not interesting
Cannot be solved, see Tiger 2003.
- Ending on TC-6 is frustrating
Several students were frustrated by the fact we had to stop at TC-6: the reference compiler did not have any back-end. Continuing onto TC-7 was offered to several groups, and some of them actually finished the compiler. We took their work, adjusted it, and it became the base of the reference compiler of 2005. The most significant effort was made by Daniel Gazard.
- Double submission is intractable
Students were allowed to deliver twice their project—with a small penalty—if they failed to meet the so-called “first submission 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.