Method and system for translating goto-oriented procedural languages into goto-free object oriented languages
First Claim
1. A computer implemented method for executing a computer source program written using a GOTO procedural language in an object oriented environment that does not support GOTO control flows, the method comprising the steps of:
- selecting an object oriented framework having an execution granularity;
transforming, based on said granularity, said source program written using said GOTO procedural language into a plurality of objects each having a plurality of attributes and one or more executable methods;
creating instances of said objects;
initiating object method execution by invoking a first method; and
repeatedly executing object methods in response to each previous method execution until termination is indicated, wherein each method execution returns an indicator indicating which object method to next execute.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for translating goto-oriented procedural languages into object oriented languages. A class structure is selected into which the source program will be transformed. The class structure is selected based upon the granularity of translation. The lowest level of granularity involves the translation of each source program statement into an executable object in the resulting object oriented program. Highest level of granularity translates the entire source program into a single object in the resultant program. The transformation program causes the construction of an output program that creates instances of each object type with parameters based upon the input source program. The parameters can specify branching logic to replace goto statements and they involve generation of executable method code to implement processing logic of the procedural source program. Intermediate levels of granularity are also possible. The resulting program can be optimized to reduce memory and load times by replacing passing of statement index values with passing of the next executable object itself. Finally, dynamic loading of objects can be implemented to provide that object instances are created only as required for execution. This optimization reduces the memory requirements and speeds processing particularly in cases where significant portions of code are not executed.
-
Citations
20 Claims
-
1. A computer implemented method for executing a computer source program written using a GOTO procedural language in an object oriented environment that does not support GOTO control flows, the method comprising the steps of:
-
selecting an object oriented framework having an execution granularity; transforming, based on said granularity, said source program written using said GOTO procedural language into a plurality of objects each having a plurality of attributes and one or more executable methods; creating instances of said objects; initiating object method execution by invoking a first method; and repeatedly executing object methods in response to each previous method execution until termination is indicated, wherein each method execution returns an indicator indicating which object method to next execute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product having a computer readable medium having computer program logic recorded thereon for transforming procedural language source code having GOTO control flows into executable GOTO-less object oriented code, said computer program product comprising:
-
computer readable program product means for causing a computer to select an object oriented framework having a transformation granularity; computer readable program product means for causing a computer to receive and parse each of a plurality of procedural language source code statements; computer readable program product means for causing a computer to generate object definition code, including attributes and method code, in response to said object oriented framework and said parsed plurality of procedural language source code statements; computer readable program product means for causing a computer to generate object initialization means in response to said object oriented framework and said parsed plurality of procedural language source code statements; computer readable program product means for causing a computer to initiate method execution by invoking a first method; computer readable program product means for causing a computer to invoke a next method ;
specified as a return from each executed method until the return is invalid. - View Dependent Claims (10, 11)
-
-
12. A system for generating executable object oriented code in response to a selected code granularity and a goto based source code program, the system comprising:
-
memory means for storing code; memory means for storing an object structure representative of said selected code granularity;
means for transforming based on said granularity said source program written using said GOTO procedural language into a plurality of objects each having a plurality of attributes and one or more executable methods andprocessor means for analyzing said goto based source code program and generating object oriented code definitions into said memory means in response to said selected code granularity. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification