The $200,000,000 dot

Our compiler construction teacher told us this story two days ago, I hope I can remember it right. In a piece of software of a spaceshuttle which was constructed to fly to Mars had a bug in it. The software was written in Fortran I believe and in Fortran spaces only have significance within strings. Now there was this piece of code:

DO 20 I = 1,100 ...

DO is used for a loop, this piece of code would repeat the code at the place where label 20 points to a hundred times. Now, somebody made a simple typing mistake:

DO 20 I = 1.100 ...

No compilation error occured, how was this parsed? Fortran assumed DO 20 I was a variable, and the 1.100 value was assigned to that variable. Nobody ever noticed this as the printers at that time weren't precise enough to easily distinguish a dot and comma.

Needless to say this spaceshuttle never made it to Mars, costs, $200 million.