1. A method of generating configuration information and associated executable code based on a customisation specification, which includes application information including application source code and customisation information including design constraints, for implementing a run-time re-configuration of an instruction processor using re-programmable hardware, the method comprising the steps of: profiling information in the customisation specification to collect profiling information; identifying at least one processor style, including register-based and stack-based styles, as a candidate for implementation; generating a template for each processor style identified as a candidate for implementation, each template comprising a processor definition and associated parameters for implementing the respective processor style in the re-programmable hardware, and incorporating the customisation information from the customisation specification, wherein the processor definitions and associated parameters are extracted from a library containing processor definitions and associated parameters for a plurality of processor styles; analysing instruction information for each template and determining instruction optimisations, wherein the profiling information is utilised in analysing the instruction information, and the instruction information analysis step comprises the steps of: identifying candidate instruction optimisations; determining implementation of the instruction optimisations based on estimations performed based on instantiation of the candidate instruction optimisations, wherein, where the estimations provide that the re-programmable hardware cannot be re-programmed to implement all instructions together during run time, combined ones of instructions are grouped into sets which can be implemented by re-programming of the reprogrammable hardware; determining a plurality of implementations for different run-time conditions, each having instruction optimisations associated with the run-time conditions; and generating decision condition information associated with each implementation, which decision condition information enables selection between the implementations depending on actual run-time conditions; compiling the application source code to include the instruction optimisations and generate executable code; analysing architecture information for each template and determining architecture optimisations; generating first configuration information including the architecture optimisations; and generating second, device-specific configuration information from the first configuration information including the architecture optimisations.