Method and system for transforming legacy software applications into modern object-oriented systems
AssigneeComputer Associates Think, Inc.
InventorsDavid Tondreau, John Mahony
Life of this patent
Estimating the term…
Abstract
A system and method for transforming a procedural program having procedural language code into an object-oriented program, comprises scanning the procedural language code and creating a map based on the scanned procedural language code, storing the scanned procedural language code as intermediate code, processing at least a segment of the procedural language code using the map, creating a first data structure using the processed segment, modifying the intermediate code based on the first data structure and generating an object-oriented program having an object class based on the modified intermediate code.
Claims9
A method for transforming a procedural program having procedural language code into an object-oriented program, comprising:
- scanning the procedural language code of the procedural program to discover one or more components of the procedural program;
- creating and storing a map based on the scanned procedural language code and the discovered one or more components of the procedural program;
- storing the one or more components of the procedural program as first intermediate code comprising, for each of the one or more components of the procedural program, a corresponding meta-component;
- processing at least a segment of the procedural language code for a particular component using the map;
- creating a first data structure using the processed segment;
- modifying second intermediate code for a target object based on the first data structure;
- and
- generating an object-oriented program having an object class based on the modified second intermediate code for the target object;
- wherein the method further comprises:
- suspending the step of processing a segment of the procedural language code when a predetermined segment of the procedural language code is detected;
- and
- modifying another intermediate code based on the predetermined segment.
Software for transforming a procedural program having procedural language code into an object-oriented program, the software being embodied in a computer-readable storage medium and when executed operable to:
- scan the procedural language code of the procedural program to discover one or more components of the procedural program;
- creating and storing a map based on the scanned procedural language code and the discovered one or more components of the procedural program;
- store the one or more components of procedural program as first intermediate code comprising, for each of the one or more components of the procedural program, a corresponding meta-component;
- process at least a segment of the procedural language code for a particular component using the map;
- create a first data structure using the processed segment;
- modify second intermediate code based for a target object on the first data structure;
- and
- generate an object-oriented program having an object class based on the modified second intermediate code for the target object;
- wherein the software when executed is further operable to:
- suspend processing a segment of the procedural language code when a predetermined segment of the procedural language code is detected;
- and
- modify another intermediate code based on the predetermined segment.
A method for transforming a procedural program having procedural language code into an object-oriented program, comprising:
- scanning the procedural language code of the procedural program to discover one or more components of the procedural program;
- creating a map based on the scanned procedural language code and the discovered one or more components of the procedural program;
- storing the map and the one or more components as procedural language metadata representations in a repository, each of the one or more components associated with a corresponding portion of the scanned procedural language code;
- creating a new set of target metadata containers for transformed representations of each of the one or more components;
- processing at least a segment of the procedural language code of the one or more components using the procedural language metadata representations of the one or more components and a grammar representation of the procedural language of the procedural language code to create a first abstract syntax tree based on the processed segment;
- populating the target metadata containers based on the first abstract syntax tree;
- and
- generating an object-oriented metadata representation of the original procedural program having an object class based on the first abstract syntax tree;
- wherein the method further comprises:
- suspending the step of processing a segment of the procedural language code when a predetermined segment of the procedural language code is detected;
- and
- modifying another abstract syntax tree based on the predetermined segment.
Dependencies are inferred from the claim text.