×

Computer language translation system and method of converting procedural computer language software to object-oriented computer language software

  • US 7,240,338 B1
  • Filed: 05/29/2003
  • Issued: 07/03/2007
  • Est. Priority Date: 05/29/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method of translating software developed in a procedural computer language to a target object-oriented computer language, wherein said procedural computer language includes a plurality of modules and blocks of global data, said method comprising:

  • (a) identifying and processing said plurality of modules within said procedural language software for assignment to object-oriented classes;

    (b) identifying said blocks of global data within said procedural language software, said global data in each said block of global data being accessible by one or more of said modules;

    (c) defining a plurality of object-oriented classes each from a corresponding identified block of global data;

    (d) identifying and recording the number of reference instances by which the plurality of modules accesses said identified blocks of global data and using the recorded information to iteratively assign the plurality of modules obtained from step (a) to the plurality of object-oriented classes defined in step (c) by;

    (d.1) retrieving each defined object-oriented class and each of said modules;

    (d.2) determining for each defined object-oriented class a count of the quantity of references by a retrieved module to class members of that class;

    (d.3) assigning the retrieved module to the defined object-oriented class associated with a count representing the maximum quantity of said references;

    (d.4) assigning a retrieved module unassigned in step (d.3) to either a newly defined object-oriented class or a defined object-oriented class that corresponds to a previously assigned module, wherein the previously assigned module is associated with the unassigned module;

    (d.5) repeating the determining and assigning steps for each retrieved module; and

    (d.6) for each object-oriented class, selectively setting class data members to either public or private in accordance with access of those class data members by the assigned modules; and

    (e) translating said procedural language to said target object-oriented language using the resulting object-oriented classes obtained in step (d) and producing an object-oriented version of said procedural language software for a target operating environment.

View all claims
  • 13 Assignments
Timeline View
Assignment View
    ×
    ×