1. A method of translating binary code instructions from a source format to a target format for processing by a target processor, said method comprising the steps of: identifying a source instruction; selecting a translation template corresponding to said identified source instruction, said template providing a set of target instructions semantically equivalent to said identified source instruction; translating said identified source instruction in accordance with said template, wherein said translating comprises: converting said identified source instruction into a source intermediate data structure having a plurality of members; mapping said members in said source intermediate data structure to corresponding members in a target intermediate data structure according to said template; and converting said target intermediate data structure into a target instruction; and outputting said target instruction for processing by said target processor.