|
From: Keith J. <kja...@ag...> - 2001-11-26 14:37:27
|
Alright, don't know who all is still out there, who still cares, or whatever, but here goes. I've been lazy, and working. More lazy than working, of course. But, now I've begun to put together Version 0.1.0. It is a complete rewrite. I thought that was the best way to approach it. Cup in the 0.0.x series had some inherent issues, namely, the VM was too smart, and the compiler was too dumb. Before, a for loop would produce byte code that looks weird: LOOP ... Blah, blah. ENDLOOP Anyway, any good VM, in my opinion, need not know anything but jumps and conditional jumps. All loops and so on should be broken down into conditional jumps, compares, and so on, by the compiler. The reason this wasn't done to begin with, is because of my ashamedly poor understanding of compilers. Since then, I've learned a few things, but, I'm as of yet no expert. However, Cup now has a compiler that is worth a damn. Thanks to Valentin for pointing out the blindingly obvious ideas of parse trees, nodes, etc, etc. Anyway, if you previously worked on Cup, you may notice all kinds of files completely deleted, that are arguably usable. Namely, Win32 stuff. For now, it's deleted since it's not been tested or tried with the new version 0.1.0, and it's not ready to be tested. Most likely a lot of this stuff will be 'undeleted' and fixed up, but for now, I wanted it out of the way. You can't forge new ideas with old clutter around. At least I can't. Cup is much more 'raw' then it was before. It compiles, and runs, but its missing huge important chunks like a working VM. :) Old versions are still for download if you need it, and, you can checkout old versions of the source if you need, but, I think it's important to put the newer code up in CVS. And so, I hope to finish up some of the last big chunks of Cup that are missing, then start work on improving and cleaning it up. The code should be easier to understand this time, since, truly, it makes more sense. It's not all just a hack because I don't know how to write a compiler. :) Keith |