A method of dynamic real time translation of first program code written
for a first programmable machine into second program code (target code)
for running on a second programmable machine, the method employing run
time generation of an intermediate representation of the first program
code. Upon first encountering a given portion of program code, only the
target code necessary to execute that portion of program code under a
prevailing set of entry conditions is initially generated and stored.
When the same portion of program code is again encountered, a
determination is made as to whether intermediate representation
corresponding to a second subsequent set of conditions has been
generated. If not, the target code necessary to execute the same portion
of program code under that second set of conditions is generated.