JIT translator for Oberon
At present, the bytecode that is output by the Oxford Oberon--2 compiler is interpreted at run-time, leading to a ten-fold
decrease in speed compared with native code. The aim of this project is to provide a translator that can turn the bytecode
into native code, reclaiming some of the speed disadvantage. An initial implementation might run as a separate program, translating
some or all of the bytecode before execution starts; but a second implementation might be integrated with the runtime system,
so that heavily-used sections of code can be translated while the Oberon program is running. The key to making this work
is to have the compiled and interpreted code share the same run-time data structures. A successful design will be largely
independent of the target machine, so that the translator can easily be ported from one machine architecture to another.