At least with the lack of
invokedynamic support I do not have to worry about
handling it. However, it is possible that a newer version of JavaME might
invokedynamic (since lambdas are useful and Java ME 8 is essentially
7). Therefor, I should take this into consideration.
Constants would be best in their own class.
Since Java ME lacks EnumMap, I am going to have to roll my own.
However since I cannot reflect enumeration values, I essentially will just have to pass a list of entries. However that will require either a shared global or copes of much data. So I just need a kind of bitsit where I can check ordinals on, or just use a integer field then just have a manual flag bit check in there.
I should probably shorten all of the interpreter stuff to instead be for example JVM. That would be more compact and I would not need to type Interpreter. It would also likely look nicer too.
I do wonder though if the interpreted environment should match the one that would be compiled. That is, have an actual memory space as I would for a normal virtual machine compilation and actually use pointers to modify objects and such. That would make the compilation part a bit easier becuase I could use the native magic stuff for that. However, the magical stuff would be a bit abstracted so VM wise there would not be direct memory access from any of the core classes (at least there should not be any).