A method and apparatus is disclosed for creating data transformation
routines for transforming data from a source format to a target format.
The routines can be used in conjunction with dynamic binary translators,
which enable binaries of a source platform to execute on a target
platform without recompilation. This is achieved by runtime (on-the-fly)
translation of source machine instructions into equivalent target machine
instructions. Typically dynamic binary translators are used for migrating
from an older platform to a newer one, implementing complex instruction
set architectures, speeding up simulators and in profiling tools. The
transformation routines are also used for translating data in databases
from one format to another, for example, where the data format has been
modified in an upgraded system. In all these applications, the speed and
accuracy of translation need to be kept low to ensure that the overhead
incurred does not outweigh the advantages of translation.