Patent US5522079A successfully refreshed from Google Patents.
US5522079A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Compiler merging new and preexisting modules while preserving function order
Assignee: International Business Machines Corp
•
Filing: 1995-05-02
•
Granted: 1996-05-28
•
Expires: 2015-05-02
Abstract
Abstract A compiler which merges two output files into a third output file. First, the compiler generates a new output file by compiling an input file. Next, the compiler searches for an existing output file for a substantially similar purpose as the new output file, i.e. the preexisting implementation file. The code modules from the new and existing output files are then interleaved to preserve the sequence of related code modules.
Inventors
- 👤 Liane E. Acker
- 👤 Andrew R. Martin
- 👤 Larry K. Raper
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 21:37
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
157 words
A system for compiling versions of a file in a first and second programming language into a merged output file in the a second language in a computer system comprising: means for modifying an original file in the first programming language to create a derivative file in the first programming language; means for translating the original and derivative files in the first language into original and derivative output files in the second language in a computer memory; means for modifying and storing the original output file in the second language in the computer memory according to user input to create a modified original output. file,; and means for interleaving code segments from the modified original and derivative output files and storing the interleaved code segments as the merged output file in the computer memory so that code segments from each of the modified original and derivative output files which correspond to each function name are stored together.
Claim 2
Independent Claim
157 words
A system for compiling versions of a file in a first and second programming language into a merged output file in the a second language in a computer system comprising: means for modifying an original file in the first programming language to create a derivative file in the first programming language; means for translating the original and derivative files in the first language into original and derivative output files in the second language in a computer memory; means for modifying and storing the original output file in the second language in the computer memory according to user input to create a modified original output. file,; and means for interleaving code segments from the modified original and derivative output files and storing the interleaved code segments as the merged output file in the computer memory so that code segments from each of the modified original and derivative output files which correspond to each function name are stored together.
Claim 3
Dependent Claim
217 words
The system as recited in claim 1, wherein the interleaving means further comprises: means for parsing the modified original and derivative output files to create a list of function names which appear in both output files, the function names in the list including and ordered according to an order in which function names occur in a first one of the modified original and derivative output files; means for transferring code segments from the modified original and derivative output files according to the method: sequentially comparing function names in an order in which the function names occur in a second one of the modified and unmodified output files to the list; for each function name in the second one of the modified original and derivative output files, storing in the merged output file a corresponding code segment from the second one of the first and second output files; for each function name in both the second one of the modified original and derivative output files and the list, storing in the merged output file portions of corresponding code segments unique to the modified first and second output files; for each function name unique to the list, storing in the merged output file a corresponding code segment from the first one of the modified original and derivative output files.
Claim 4
Dependent Claim
42 words
The system as recited in claim 1 wherein the interleaving means further comprises: means for marking code segments from the modified original and derivative output files in the merged output file to identify from which output file a given code segment originated.
Claim 5
Independent Claim
149 words
A method for compiling two versions of a file in a first and second programming language into a merged output file in the second language comprising the steps of: translating an original input file in the first language into an original output file in the second language in a computer memory; modifying and storing the original output file in the second language in the computer memory according to user supplied input to create a modified original output file; translating a derivative input file in the first programming language into a derivative output file in the second programming language, the derivative input file another version of the original input file; and interleaving code segments from the modified original and derivative output files and storing the code segments from each of the modified original and derivative output files so that code segments which correspond to each function name are stored together.
Claim 6
Independent Claim
149 words
A method for compiling two versions of a file in a first and second programming language into a merged output file in the second language comprising the steps of: translating an original input file in the first language into an original output file in the second language in a computer memory; modifying and storing the original output file in the second language in the computer memory according to user supplied input to create a modified original output file; translating a derivative input file in the first programming language into a derivative output file in the second programming language, the derivative input file another version of the original input file; and interleaving code segments from the modified original and derivative output files and storing the code segments from each of the modified original and derivative output files so that code segments which correspond to each function name are stored together.
Claim 7
Dependent Claim
220 words
The method as recited in claim 4, wherein the interleaving step further comprises the steps of: parsing the modified original and derivative output files to create a list of function names which appear in both the modified output files, the function names in the list including and ordered according to an order in which function names occur in a first one of the modified oriqinal and derivative, output files; transferring code segments from the modified original and derivative output files according to the method: sequentially comparing function names in an order in which the function names occur in a second one of the modified original and derivative output files to the list; for each function name in the second one of the modified original and derivative output files, storing in the merged output file a corresponding code segment from the second one of the modified first and second output files; for each function name in both the second one of the modified original and derivative output files and the list, storing in the merged output file portions of corresponding code segments unique to the modified first and second output files; for each function name unique to the list, storing in the merged output file a corresponding code segment from the first one of the modified original and derivative output files.
Claim 8
Dependent Claim
42 words
The method as recited in claim 5 wherein the interleaving step further comprises the step of marking code segments from the modified original and derivative output files in the merged output file-to identify from which output file a given code segment originated.
Claim 9
Independent Claim
247 words
A method for compiling an updated file in a first programming language into a new file in a second programming language, the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form by a user, the method practiced in a memory of a computer system, comprising the steps of: translating the updated file to create the newly translated file; retreiving from the memory the previously translated file; responsive to the creation of the newly translated file, searching the newly and previously translated files to create a list of function names ordered as they occur in the newly translated file marking common module names which occur in both the newly and previously translated files; sequentially comparing function names in an order in which the function names occur in the previously translated file to the list; for each function name in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name in both the previously translated file and the list, storing in the new file corresponding code segment unique to the newly and previously translated files; for each function name unique to the list, storing in the new file a corresponding code segments from the newly translated file.
Claim 10
Independent Claim
247 words
A method for compiling an updated file in a first programming language into a new file in a second programming language, the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form by a user, the method practiced in a memory of a computer system, comprising the steps of: translating the updated file to create the newly translated file; retreiving from the memory the previously translated file; responsive to the creation of the newly translated file, searching the newly and previously translated files to create a list of function names ordered as they occur in the newly translated file marking common module names which occur in both the newly and previously translated files; sequentially comparing function names in an order in which the function names occur in the previously translated file to the list; for each function name in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name in both the previously translated file and the list, storing in the new file corresponding code segment unique to the newly and previously translated files; for each function name unique to the list, storing in the new file a corresponding code segments from the newly translated file.
Claim 11
Independent Claim
189 words
A method for compiling an updated file in a first programming language into a new file in a second programming language, the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method practiced in a memory of a computer system, comprising the steps of: sequentially comparing function names as the function names occur in the newly and previously translated files; for each function name as ordered in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name as ordered in the previously translated file also present in the newly translated file, storing in the new file corresponding code segments unique to the newly and previously translated files; for each function name unique to the newly translated file, storing in the new file a corresponding code segment from the newly translated file.
Claim 12
Independent Claim
189 words
A method for compiling an updated file in a first programming language into a new file in a second programming language, the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method practiced in a memory of a computer system, comprising the steps of: sequentially comparing function names as the function names occur in the newly and previously translated files; for each function name as ordered in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name as ordered in the previously translated file also present in the newly translated file, storing in the new file corresponding code segments unique to the newly and previously translated files; for each function name unique to the newly translated file, storing in the new file a corresponding code segment from the newly translated file.
Claim 13
Dependent Claim
50 words
The method as recited in claim 8 further comprising the step of: changing a set of characters indicating comments from a selected one of the newly and previously translated files; and storing comments from the newly and previously translated files in the new file including the changed set of characters.
Claim 14
Dependent Claim
41 words
The method as recited in claim 8 further comprising the step of for each function name automatically inserting a comment that a code segment has been altered if corresponding code segment are found in both the newly and previously translated files.
Claim 15
Dependent Claim
53 words
The method as recited in claim 8 wherein the newly and previously translated files are method implementations for a class object and the portions unique to the previously translated file are programmer added application specific code and the portions unique to the newly translated file are additional method implementations for the class object.
Claim 16
Dependent Claim
41 words
The method as recited in claim 8 further comprising the step of changing the corresponding code segment in the previously translated file into a comment format if the corresponding code segments are found in both the newly and previously translated files.
Claim 17
Dependent Claim
251 words
A computer system for compiling an updated file in a first programming language into a new file in a second programming language wherein two translated files in the second programming language are merged, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method practiced in a memory of a computer system, comprising the steps of: means for translating the updated file to create the newly translated file; means for searching newly and previously translated files to create a list of function names ordered as the function names occur in the newly translated file marking common function names which occur in both the newly and previously translated files; means for sequentially comparing function names in an order in which the function names occur in the previously translated file to an order in which the function names occur in the list; for each function name in the previously translated file, means for storing in the new file a corresponding code segment from the previously translated file; for each module name in both the previously translated file and list, means for storing in the new file corresponding code segments unique to the newly and previously translated files; for each function name unique to the list, means for storing in the new file a corresponding code segment from the newly translated file.
Claim 18
Dependent Claim
251 words
A computer system for compiling an updated file in a first programming language into a new file in a second programming language wherein two translated files in the second programming language are merged, a newly translated file resulting from translation of the updated file and a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method practiced in a memory of a computer system, comprising the steps of: means for translating the updated file to create the newly translated file; means for searching newly and previously translated files to create a list of function names ordered as the function names occur in the newly translated file marking common function names which occur in both the newly and previously translated files; means for sequentially comparing function names in an order in which the function names occur in the previously translated file to an order in which the function names occur in the list; for each function name in the previously translated file, means for storing in the new file a corresponding code segment from the previously translated file; for each module name in both the previously translated file and list, means for storing in the new file corresponding code segments unique to the newly and previously translated files; for each function name unique to the list, means for storing in the new file a corresponding code segment from the newly translated file.
Claim 19
Dependent Claim
205 words
A computer memory readable by a processor and tangibly embodying a program of instructions executable by the processor to perform a method the method for compiling an updated file in a first programming language into a new file in a second programming language the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file with a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method comprising the steps of: sequentially comparing function names as the function names occur in the newly and previously translated files; for each function name as ordered in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name as ordered in the previously translated file also present in the newly translated file, storing in the new file portions of corresponding code segments unique to the newly and previously translated files; for each function mane unique to the newly translated file, storing in the new file a corresponding code segment from the newly translated file.
Claim 20
Dependent Claim
205 words
A computer memory readable by a processor and tangibly embodying a program of instructions executable by the processor to perform a method the method for compiling an updated file in a first programming language into a new file in a second programming language the method including a merge of two translated files in the second programming language, a newly translated file resulting from translation of the updated file with a previously translated file resulting from translation of a prior version of the updated file, the previously translated file modified in its translated form in response to user input, the method comprising the steps of: sequentially comparing function names as the function names occur in the newly and previously translated files; for each function name as ordered in the previously translated file, storing in the new file a corresponding code segment from the previously translated file; for each function name as ordered in the previously translated file also present in the newly translated file, storing in the new file portions of corresponding code segments unique to the newly and previously translated files; for each function mane unique to the newly translated file, storing in the new file a corresponding code segment from the newly translated file.
References Cited (Backward Citations)
US4321070A
Cited
US4463423A
Cited
US4558413A
Cited
US5084815A
Cited
US5142681A
Cited
US4965724A
Cited
US4853843A
Cited
US5287548A
Cited
US5107423A
Cited
US4912637A
Cited
US5261103A
Cited
US4916610A
Cited
US5359539A
Cited
US5339431A
Cited
US5367684A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-05-28 | 1999-11-27 | 2000-05-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-05-28 | 2003-11-27 | 2004-05-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-05-28 | 2007-11-27 | 2008-05-28 | $7700.00 | Window Closed / Lapsed |