During this year, Akim was helped by:
Alexandre Duret-Lutz, Thierry Géraud.
Submission dates were:
|TC-1||Monday, December 18th 2000 at noon|
|TC-2||Friday, February 23th 2001 at noon|
|TC-3||Friday, March 30th 2001 at noon|
|TC-4||Tuesday, June 12th 2001 at noon|
|TC-5||Monday, September 17th 2001 at noon|
Some groups have reached TC-6.
Akim had to install an updated version of the C++ compiler since the system
team did not want non standard software. Unfortunately, NetBSD turned
out to be seriously incompatible with this version of the C++ compiler
(its crt1.o dumped core on the standard stream constructors, way
main). We had to revert to using the bad native
It is to be noted that some funny guy once replaced the
executable from Akim’s account into ‘rm -rf ~’. Some students and
Akim himself have been bitten. The funny thing is that this is when the
system administration realized the teacher accounts were not backed up.
Fortunately, since that time, decent compilers have been made available, and the Tiger Compiler is now written in strictly standard C++.
Because the members of the AST objects were references, it was impossible to implement any change on it: simplifications, optimization etc. This is fixed in Tiger 2004 where all the members are now pointers, but the interface to these classes still uses references.
Just as the previous year, see Tiger 2002, but with more groups and more stages. But now there are enough competent students to create a group of assistants, the Yakas, to help the students, and to share the load of defenses.
Only tarballs were submitted, making upgrades delicate, error prone, and time consuming. The systematic use of patches between tarballs since the 2004 edition solves this issue.
Students would like at least to be able to compile a tarball with its holes. To this end, much of the removed code is now inside functions, leaving just what it needed to satisfy the prototype. Unfortunately this is not very easy to do, and conflicts with the next complaint:
In order to scale down the amount of code students have to write, in order to have them focus on instructional material, more parts are submitted almost complete except for a few interesting places. Unfortunately, some students decided to answer the question completely mechanically (copy, paste, tweak until it compiles), instead of focusing of completing their own education. There is not much we can do about this. Some parts will therefore grow; typically some files will be left empty instead of having most of the skeleton ready (prototypes and so forth). This means more work, but more interesting I (Akim) guess. But it conflicts with the previous item...