The stuff such as JITClassFlags should be in the base because that could be used by anything and it has no JIT reliance.


JITException also belongs there also.


Just need to write the string table for the namespaces and the start of the contents. The output binary format is decoded from the end first to find contents. This makes it simple to output. Then after the stuff is written, despite having a partial class writer I can work on the base for the emulator which will decode the interpreted binary and then run it. This way I can test the output as I work on it. I would suppose for simplicity that the interpreter just parses everything and then dumps the binary.


Something that could be useful is a kind of number of classes written as a kind of feedback from the JITNamespaceProcessor.


It would be best if all the arguments are unknown that it just assumes native was used since the first argument would either be a switch or a triplet.


It would be best if the target builder wrote the extra ZIP entries it may need along with the binary rather than letting the NewBuilder do that. This way if a target requires more files they can be included.


I actually need to specify extra packages to be included, such as the actual operating system support code.


So what I need now is the executable linker. I would suppose the base would just be an interface which provides some basic methods. Most of everything else would be system specific.


One consideration is universal binaries, such as ones for DOS and Windows and Mac OS X (PowerPC and Intel).


Although those could very well complicate the build process greatly. It may be best to ignore these since in practice these are not used much.