Vidar Hokstad V2.0

Home Blog

Welcome! This is an ARCHIVED page from my old blog

In addition to taking a look at the entry below, why don't you also take a look at some other recent entries:


If you like what you see, please also sign up to the RSS feed

2005-03-30 17:39 UTC Bootstrapping assemblers/compilers

« Threaded Description Language |

Main | The Temporal content of Web pages »

Bootstrapping assemblers/compilers

I know perfectly well what to do and not to do, yet I keep getting bitten by this anyway:

Do NOT change the language without first taking a copy of a working environment... NO, checking everything in to CVS/Subversion is NOT sufficient - you need to verify you have a working copy..

There is nothing worse than discovering you've just made a change to your compiler/assembler/parser/whatever, only to try to rebuild it with itself and discovering that the change you thought was entirely benevolent in fact broke the damn thing, and be stuck with something written in a language that doesn't exist anymore (since you just modified and broke the only translation tool).

Luckily, when I did this last night it wasn't too bad - I just had to rewrite about 20 lines of my assembler and dig out an older version of the parser to be able to rebuild it again, then change the lines back, correct a bug and rebuild it once more (after taking copies this time)...

But why will I never learn this lesson once and for all? I've written at least a dozen translators that have been bootstrapped to use code written using itself before, and it seems that every single time I forget about this sooner or later.


About me

E-mail: vidar@hokstad.com
Skype: vhokstad
View my LinkedIn profile

I was born April 21st, 1975, in Oslo, Norway. Since 2000 I've been living in London, UK. I'm married.

I'm working for Aardvark Media as Director of Technology. I'm also currently on the board of SpatialQ, a startup in the GIS space, and an advisor to Skoach, a startup doing a time management app for people with ADD.

Recent posts to my blog

StumbleUpon My link page

(Links I have stumbled and like)