Method, system and program product for transforming a single language program into multiple language programs
First Claim
1. A computer implemented method of transforming a source code written in a source programming language into multiple target modules written in multiple different target programming languages, said computer implemented method comprising the steps of:
- parsing a source code written in a source programming language into multiple source modules;
selecting multiple target programming languages suitable for transforming each of said multiple source modules of said source code into multiple target modules, wherein all of the multiple target programming languages are different from one another;
a processor looking up, for a source function of each of said multiple source modules, an equivalent target function that is performed using a target programming language from selected said multiple target programming languages;
the processor transforming each of said multiple source modules into multiple target modules that all perform said equivalent target function of said source function, wherein each of the multiple target modules is written in a different language selected from the multiple target programming languages; and
the processor ranking said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules.
4 Assignments
0 Petitions
Accused Products
Abstract
A method, system and program product for transforming a source code in one language into one or more target modules in one or more languages is provided. The method includes selecting one or more target programming languages suitable for transforming each source module of a source code into one or more target modules written in one or more target programming languages. The method further includes parsing the source code and looking up for a source function in the source code an equivalent target function in a target programming language, such that execution of the equivalent target function in the target programming language is optimized. The method further includes writing out in the target programming language the equivalent target function corresponding to the source function, such that each source module is transformed into one or more target modules whose execution in the one or more target programming languages is optimized.
-
Citations
22 Claims
-
1. A computer implemented method of transforming a source code written in a source programming language into multiple target modules written in multiple different target programming languages, said computer implemented method comprising the steps of:
-
parsing a source code written in a source programming language into multiple source modules; selecting multiple target programming languages suitable for transforming each of said multiple source modules of said source code into multiple target modules, wherein all of the multiple target programming languages are different from one another; a processor looking up, for a source function of each of said multiple source modules, an equivalent target function that is performed using a target programming language from selected said multiple target programming languages; the processor transforming each of said multiple source modules into multiple target modules that all perform said equivalent target function of said source function, wherein each of the multiple target modules is written in a different language selected from the multiple target programming languages; and the processor ranking said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for transforming a source program written in a source programming language into multiple target modules written in different target programming languages, the system comprising:
-
a processor; a source program written in a source programming language, said source program having one or more source modules; a function conversion table configured to provide a respective target function corresponding to a respective source function in each of multiple pre-determined target programming languages; and a transformation component configured to parse each module of said source program and to transform, using said function conversion table, said each module of said source code into multiple target functions in said multiple pre-determined target programming languages, wherein each of said one or more source modules is transformed into multiple target modules whose execution in said multiple pre-determined target programming languages is optimized, and wherein said transformation component is further configured to rank said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules; and
wherein the transformation component comprises software executed on the processor. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product for transforming a single source program in a source programming language into multiple target modules in multiple different target programming languages, said computer program product comprising:
-
a non-transitory computer readable storage medium; first program instructions to parse a source code written in a source programming language into multiple source modules; second program instructions to select multiple target programming languages suitable for transforming each of said multiple source modules of said source code into multiple target modules, wherein all of the multiple target programming languages are different from one another; third program instructions to look up, for a source function of each of said multiple source modules, an equivalent target function that is performed using a target programming language from selected said multiple target programming languages; fourth program instructions to transform each of said multiple source modules into multiple target modules that all perform said equivalent target function of said source function, wherein each of the multiple target modules is written in a different language selected from the multiple target programming languages, and wherein said transforming is performed by matching said source function with said equivalent target function found in a conversion table; fifth program instructions to rank said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules; and wherein said first, second, third, fourth, and fifth program instructions are stored on said non-transitory computer readable storage medium. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A process for deploying computing infrastructure comprising integrating computer-readable code into a computing system, wherein said code in combination with said computing system is capable of performing a process for transforming a source program in a source programming language into multiple target modules in multiple target programming languages, said process comprising:
-
parsing a source code written in a source programming language into multiple source modules; determining multiple target programming languages to be used for transforming said one or more source modules in said source program into multiple target modules in said multiple target programming languages; a processor looking up in a function conversion table each of one or more source functions in said source program for transforming a respective source function of said one or more source functions into a respective target function in a respective target programming language selected from said multiple target programming languages; the processor writing out a corresponding target function in each of said multiple target programming languages for each of said source modules, said multiple target functions corresponding to each source function in said each of said one or more source modules, wherein each of said one or more source modules is transformed into multiple target modules in said multiple target programming languages; the processor ranking said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules; and the processor launching execution of one of said multiple target modules in said multiple target programming languages. - View Dependent Claims (20, 21, 22)
-
Specification