US 7,559,051 B2
Source-to-source partitioning compilation
Bernardo De Oliveira Kastrup Pereira, Eindhoven (Netherlands); Alexander Augusteijn, Eindhoven (Netherlands); Orlando Miguel Pires Dos Reis Moreira, Eindhoven (Netherlands); and Paul A. C. J. Van Loon, Eindhoven (Netherlands)
Assigned to Silicon Hive B.V., Eindhoven (Netherlands)
Appl. No. 10/522,083
PCT Filed Jun. 23, 2003, PCT No. PCT/IB03/02908
§ 371(c)(1), (2), (4) Date Jan. 21, 2005,
PCT Pub. No. WO2004/012083, PCT Pub. Date Feb. 05, 2004.
Claims priority of application No. 02078038 (EP), filed on Jul. 25, 2002.
Prior Publication US 2005/0246680 A1, Nov. 03, 2005
Int. Cl. G06F 9/44 (2006.01)
U.S. Cl. 717—112 16 Claims
OG exemplary drawing
 
1. A method for partitioning a specification in a source code; characterized in that the method comprises the following steps:
first converting the specification into a plurality of abstract syntax trees;
partitioning the plurality of abstract syntax trees into at least a first set and a second set of abstract syntax trees, wherein the step of partitioning comprises a step of out-lining at least one abstract syntax tree of the first set of abstract syntax trees based on profile data as input data and replacing said abstract syntax tree by a function call to a function present as an abstract syntax tree in the second set of abstract syntax trees;
implementing the first set of abstract syntax trees by a first processor and implementing the second set of abstract syntax trees by a second processor;
defining an interface between the first processor and the second processor, wherein the interface comprises a remote function call, the remote function call having a set of parameters, the set of parameters comprising an identifier for the function to be called, at least one reference pointing to the input data of the function to be called, at least one reference pointing to the result data of the function to be called, and a reference pointing to a memory location used for storing information on the return status of the function to be called; and
second converting, after the partitioning step, the first set of abstract syntax trees and the second set of abstract syntax trees back to source code, thereby facilitating editing of a resulting specification in the source code, wherein the second converting step comprises converting the first set of abstract syntax trees to a first partial specification in the source code and converting the second set of abstract syntax trees to a second partial specification in the source code.