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 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.