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.
The intermediate representation is generated to include a combination of
register objects and expression objects. Register objects represent
abstract registers that provide a representation of the state of the
first programmable machine based on expected effects of the instructions
within the first program code, while expression objects represent
elements, such as operations or sub-operations, of the instructions in
the first program code. In the intermediate representation, a branched
tree-like network is formed in which each register object serves as a
basic root of the network and references expression objects to which they
relate either directly or indirectly through references from other
expression objects.