|
File GemHistory.html Author McKeeman Copyright © 2008 index How GEM Came To BeOne of the duties of a faculty member as the University of California at Santa Cruz is to supervise undergraduate senior thesis work. And so it came to pass, one day in 1976, that a senior asked me for a topic. I had been hacking away on the XPL self-compiling compiler. I had noticed that by throwing things out of the XPL language, I could make the compiler smaller. Without much thought, I said to this student "build the shortest extendible self-compiling compiler". In due course that student appeared with his compiler. It fit on one Hollerith card. The front end was only 27 characters. The whole compiler was 63 characters. He had implemented it on our second-hand Burroughs B5500. Needless to say, this student had my attention. Not too long thereafter this student and his father founded SCO. The student's name? Doug Michels. You may know him. The moral of the story so far: watch out, some of those undergraduates are real smart. Unfortunately Doug's compiler was pretty slow. We think it's run time is O(3k) in the length of the input, longer than the mean time between failures on the Santa Cruz B5500, so the compiler never actually compiled itself. We met a few more times. In just a few weeks we had a version that ran pretty swiftly on my Zilog Z80 development system. And that version, extended and polished, is what exists today. The goal of using GEM to build up to ever-more powerful compilers is explored in a talk given to Stanford. /s/ Bill McKeeman References:
|