IP Library Granted Patent US 9,317,266
Granted Patent B1
US 9,317,266 · App. 14/539,349 · Granted Apr 19, 2016

Leveraging legacy applications for use with modern applications

Inventor: William Muldoon (Newtown, PA)
Assignee: Bank of America Corporation
G06F8/51G06F8/447
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,317,266
App. No.
14/539,349
Granted
Apr 19, 2016
Kind
B1
Abstract

An apparatus of one embodiment translates computer code from a first programming language to a second programming language. The apparatus includes an interface, a memory, and a processor. The interface is operable to receive a compiler output that is associated with source code written in a first programming language. The memory is operable to store the compiler output. The processor is communicatively coupled to the interface and the memory and is operable to analyze the data structures within the compiler output, build an internal representation of the source code based on the compiler output, and create a source code template associated with a second programming language.

Claims (58)

1. A method for translating computer code, comprising:

receiving a compiler output, wherein the compiler output comprises a first set of data structures that are associated with a source code written in a first programming language;

analyzing the first set of data structures within the compiler output;

building an internal representation of the source code based on the compiler output, wherein building the internal representation comprises mapping the first set of data structures to a second set of data structures associated with a second programming language; and

creating a source code template using the second set of data structures associated with the second programming language.

2. The method of claim 1 , wherein the first programming language is COBOL and the second programming language is JAVA.

3. The method of claim 2 , further comprising:

identifying a level 01 data structure in the compiler output; and

communicating the compiler output associated with the level 01 data structure to a record generator.

4. The method of claim 2 , further comprising:

in response to determining that the compiler output contains a CICS DFHCOMMAREA command, generating a corresponding CICS main entry point in the source code template; and

in response to determining that the compiler output contains a file definition, generating a corresponding JZOS ZFile and associated access methods in the source code template.

5. The method of claim 1 , wherein building an internal representation of the source code based on the compiler output comprises:

generating a list of the data structures within the first set of data structures within the compiler output;

mapping the first set of data structures within the compiler output to a plurality of classes and objects associated with the second programming language;

assigning to the classes and object associated with the second programming language, a name that corresponds to the first set of data structures contained in the compiler output.

6. The method of claim 1 , further comprising:

in response to determining that the compiler output contains a SQL command, generating a corresponding embedded SQL command comment in the source code template.

7. The method of claim 1 , further comprising transforming a plurality of source code of the first programming language into a plurality of comments in the source code template of the second programming language.

8. Non-transitory tangible computer readable storage medium comprising logic, the logic operable, when executed by a processor, to:

receive a compiler output, wherein the compiler output comprises a first set of data structures that are associated with a source code written in a first programming language;

analyze the first set of data structures within the compiler output;

build an internal representation of the source code based on the compiler output, wherein building the internal representation comprises mapping the first set of data structures to a second set of data structures associated with a second programming language; and

create a source code template using the second set of data structures associated with the second programming language.

9. The non-transitory tangible computer readable storage medium of claim 8 , wherein the first programming language is COBOL and the second programming language is JAVA.

10. The non-transitory tangible computer readable storage medium of claim 9 , wherein the logic is further operable, when executed by a processor, to:

identify a level 01 data structure in the compiler output; and

communicate the compiler output associated with the level 01 data structure to a record generator.

11. The non-transitory tangible computer readable storage medium of claim 9 , wherein the logic is further operable, when executed by a processor, to:

in response to determining that the compiler output contains a CICS DFHCOMMAREA command, generate a corresponding CICS main entry point in the source code template; and

in response to determining that the compiler output contains a file definition, generating a corresponding JZOS ZFile and associated access methods in the source code template.

12. The non-transitory tangible computer readable storage medium of claim 8 , wherein the logic operable, when executed by a processor, to build an internal representation of the source code based on the compiler output comprises:

generate a list of the data structures within the first set of data structures within the compiler output;

map the first set of data structures within the compiler output to a plurality of classes and objects associated with the second programming language; and

assign to the classes and object associated with the second programming language, a name that corresponds to the first set of data structures contained in the compiler output.

13. The non-transitory tangible computer readable storage medium of claim 8 , wherein in response to determining that the compiler output contains a SQL command, the logic is further operable, when executed by a processor, to:

generate a corresponding embedded SQL command comment in the source code template.

14. The non-transitory tangible computer readable storage medium of claim 8 , wherein the logic is further operable, when executed by a processor, to:

transform a plurality of source code associated with the first programming language into a plurality of comments in the source code template of the second programming language.

15. An apparatus for translating computer code, comprising:

an interface operable to receive a compiler output, wherein the compiler output comprises a first set of data structures that are associated with a source code written in a first programming language;

a memory operable to store the compiler output; and

a processor communicatively coupled to the interface and memory, the processor operable to:

analyze the first set of data structures within the compiler output;

build an internal representation of the source code based on the compiler output wherein building the internal representation comprises mapping the first set of data structures to a second set of data structures associated with a second programming language; and

create a source code template using the second set of data structures associated with the second programming language.

16. The apparatus of claim 15 , wherein the first programming language is COBOL and the second programming language is JAVA.

17. The apparatus of claim 16 , wherein the processor is further operable to:

identify a level 01 data structure in the compiler output; and

send the compiler output associated with the level 01 data structure to a record generator.

18. The apparatus of claim 16 , wherein the processor is further operable to:

in response to determining that the compiler output contains a CICS DFHCOMMAREA command, generate a corresponding CICS main entry point in the source code template; and

in response to determining that the compiler output contains a file definition, generate a corresponding JZOS Zfile and associated access methods in the source code template.

19. The apparatus of claim 15 , wherein the processor operable to build an internal representation of the source code based on the compiler output comprises:

generate a list of the data structures within the first set of data structures within the compiler output;

map the first set of data structures within the compiler output to a plurality of classes and objects associated with the second programming language; and

assign to the classes and object associated with the second programming language, a name that corresponds to the first set of data structures contained in the compiler output.

20. The apparatus of claim 15 , wherein in response to determining that the compiler output contains a SQL command, the processor is further operable to generate a corresponding embedded SQL command comment in the source code template.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2014
From: MULDOON, WILLIAM
To: BANK OF AMERICA CORPORATION
Reel/Frame 034156/0665 →