CompuServe Messages

VP doesn't work with EGS

    21-Oct-93 05:25:06
Fm: Clint Woeltjen@VRLI 75300,3706
To: Roy S. Laufer 72435,1025
Roy: SAS is at least working in the right direction. When I was writing compilers, I never understood why people had such problems with codegeneration and optimization. I always found the parsing to be the biggest pain (which was fortunate, as my partner on my team was just the opposite). We used a technique using two pseudo-languages, and optimizing for particular features at each language "boundary". This allowed us to keep track of what was in each pseudo register across rather long pieces of code, so when it came time to generate the actual assembly, there was very little of the "reload this register" phenomenon. Also, we could catch the "last occurance" so that we didn't need to transfer a register to a temp for a calculation if we knew that it wasn't going to be used any more. This allowed for "register variables" across small segments of code within a procedure, and then a new set of register variables later on in the same procedure. (Without the user telling us.) I was sorry that DRI dropped the Language division when it did, as the multiple front end/codegen/multiple assembler project was basically finished, but never saw the marketplace. A few years later we tried to see if we could license the code for the Amiga, but no-one there could tell us what happened to the source. And no-one had any interest in figuring it out. <sigh> The compiler had front ends for "C", Pascal, Basic and Fortran, and final assemblers for 8086/80286 and 68000. It would have been a nice addition to the Amiga repitoire back in '85-86. Clint <Chaocity><VRLI>