2 March 2004, the wee hours

There comes a point when you just have to say, “fuck it.” I am at that point. It isn’t that late just yet, a little past 1:00 in the morning, but a week of this is too much. Hopefully we can make up all the marks we’ll lose on this assignment when we do the next one. The last assignment is worth half of our mark.

I now know that writing a compiler is a lot of hard work.

For those who want to know, this assignment we were asked to do the semantic analysis needed to process a Ada source file. That means we have to make sure the file makes sense. Examples of things needed to be done are ensuring variables are given unique names, that the scoping rules for Ada are followed, that types are created properly, that expressions are valid, that statements are used properly, etc., etc. We also had to implement a better error-recovery strategy in our parser, as we were just terminating when we encountered our first error.

I’d say we did about half the stuff we were supposed to do. Right now our compiler is 36000 lines of code. I think 25000 of that was generated by programs we wrote.



  1. Testing my new inline comments. I've gotten too used to staying up too late.

  2. You should be able to post without an email address now.

  3. Nice, so now all my email addresses won't just be ram@fuck.you and the like.

    I wonder how hard it'll be to motivate yourselves to fix the stuff that wasn't working on this one. I guess you have no choice really, but still. Heh. It's too bad they won't give you the source if you screw up. In 354 enough people did badly enough on the first one that they gave out source to those who needed it so that they wouldn't just fail the entire thing.

  4. Remember how Aho said that a (production) line of code is worth between $10 and $100 (US I assume). So even if you guys only wrote 10 thousand lines yourselves and they were really cheap ($5 Canadian)...that's $50,000 (Canadian) worth of software. :-)

Don't be shy, you can comment too!

Some things to keep in mind: You can style comments using Textile. In particular, *text* will get turned into text and _text_ will get turned into text. You can post a link using the command "linktext":link, so something like "google":http://www.google.com will get turned in to google. I may erase off-topic comments, or edit poorly formatted comments; I do this very rarely.