Tuesday, July 18, 2006

I hate Mondays

Did you ever had a day, when nothing worked? Yesterday was such a day for me.

Disaster #1:

While working on the expression classes of DScript, I noticed that I made a mistake. There is an abstract base class for expressions. And there are the concrete classes for the different types of expressions. And that's all. No base classes for expressions with common traits (eg. binary operators). That means, when ever I want to change the functionality of all binary operators I have to change all the classes. WTF? I am not supposed to make such mistakes. I have written at least half a dozen parser systems and non of them hat problems of this kind. Absolutely no idea, why I did such a stupid thing.
Now I will have to introduce at least two more base classes. Not very complicated, but a lot of work.

Disaster #2:

In my last post I mentioned, that SRPG has a working resources gathering system. Forget that! The system is at least partially broken. Probably nothing too serious either, but I will have to look into this.

Disaster #3:

Ever since I changed from gcc 2.95 to 3.4 I noticed some oddities when compiling stuff. Yesterday I found out, that it is far worse, than expected. Something in gcc 3.4 doesn't go along with my build system. I don't even have an idea where to look for this problem. It will take a lot of investigation before I can write a proper bug-report and/or find a workaround.

In the meantime I am left without a working build system, which means whenever there is a change in a file, I have to manually track down which other files need to be recompiled/relinked.

DScript is not affected, because I am still using 2.95 here. But SRPG is and Graphite will be, once I changed to 3.4 (which is absolutely necessary). I can probably handle SRPG this way (though a lot slower), but there is no way I could work on something of Graphite's size without a working build system, which means Graphite is on hold until the problem is fixed.


Post a Comment

Links to this post:

Create a Link

<< Home