← Back to Patent Explorer
US5905892A Expired / Lapsed US ⏱️ 0.0 years remaining

Error correcting compiler

Assignee: Oracle America Inc
•
Filing: 1996-04-01
•
Granted: 1999-05-18
•
Expires: 2016-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A software conversion tool that facilitates automated conversion of a software program from one operating environment to another. More particularly, a computer program is compiled using a compiler for a software environment other than a software environment assumed by the computer program. As a result, the compiler produces an error message, and, in response to the error message, source code within the computer program is automatically modified in order to remove a condition causing the error. The software conversion tool acts in concert with the compiler, which may be a standard compiler, to form in effect an error-correcting compiler, i.e., a compiler that instead of only detecting errors and presenting them to the user, is able to actually correct errors such that they do not occur during recompilation.

Inventors

  • 👤 Walter Nielsen
  • 👤 James Holmlund

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:19
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/40; G06F8/41; G06F8/70; G06F8/76

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 140 words
A computer-implemented method of modifying a computer program written to run in a first software environment to produce a modified computer program that runs in a second, different software environment, comprising the steps of: assembling at least a dictionary database containing database entries including a program identifier appearing in the computer program and its corresponding different program identifier to be used in the modified computer program; compiling the computer program using a compiler for the second different software environment, the compiler, when an unknown program identifier is encountered, producing an error message containing the unknown program identifier; in response to the error message, retrieving from the database an entry corresponding to the unknown program identifier; and replacing at least one instance of the unknown program identifier in the computer program with the corresponding different program identifier contained in the entry.
Claim 2
Dependent Claim 140 words
A computer-implemented method of modifying a computer program written to run in a first software environment to produce a modified computer program that runs in a second, different software environment, comprising the steps of: assembling at least a dictionary database containing database entries including a program identifier appearing in the computer program and its corresponding different program identifier to be used in the modified computer program; compiling the computer program using a compiler for the second different software environment, the compiler, when an unknown program identifier is encountered, producing an error message containing the unknown program identifier; in response to the error message, retrieving from the database an entry corresponding to the unknown program identifier; and replacing at least one instance of the unknown program identifier in the computer program with the corresponding different program identifier contained in the entry.
Claim 3
Dependent Claim 23 words
The method of claim 1, comprising the further step of recompiling the computer program using a compiler for the second different software environment.
Claim 4
Dependent Claim 14 words
The method of claim 2, comprising repeating the steps of claim 2 multiple times.
Claim 5
Dependent Claim 35 words
The method of claim 3, comprising repeating the steps of claim 2 until each unknown identifier for which a different program identifier is contained in the database has been replaced by that different program identifier.
Claim 6
Dependent Claim 28 words
The method of claim 3, comprising repeating the steps of claim 2 until no entry is found in the database for any error message produced by the compiler.
Claim 7
Dependent Claim 100 words
A computer implemented method comprising the steps of: assembling a dictionary database containing database entries, each entry including a program identifier appearing in a computer program and its corresponding different program identifier to be used in a modified computer program; compiling the computer program using a compiler for a software environment other than a software environment assumed by the computer program, the compiling program producing an error message; and in response to the error message, accessing the dictionary database to automatically modify the computer program with the corresponding different program identifier in order to remove a condition causing the error.
Claim 8
Dependent Claim 100 words
A computer implemented method comprising the steps of: assembling a dictionary database containing database entries, each entry including a program identifier appearing in a computer program and its corresponding different program identifier to be used in a modified computer program; compiling the computer program using a compiler for a software environment other than a software environment assumed by the computer program, the compiling program producing an error message; and in response to the error message, accessing the dictionary database to automatically modify the computer program with the corresponding different program identifier in order to remove a condition causing the error.
Claim 9
Dependent Claim 48 words
The method of claim 6, wherein the step of modifying comprises: in response to the error message, retrieving from the database an entry for the unknown program identifier; and replacing at least one instance of the unknown program identifier with a different program identifier contained in the entry.
Claim 10
Dependent Claim 23 words
The method of claim 7, comprising the further step of recompiling the computer program using a compiler for the second different software environment.
Claim 11
Dependent Claim 14 words
The method of claim 8, comprising repeating the steps of claim 9 multiple times.
Claim 12
Dependent Claim 21 words
The method of claim 9, comprising repeating the steps of claim 9 until the compiler does not produce any error messages.
Claim 13
Dependent Claim 28 words
The method of claim 9, comprising repeating the steps of claim 9 until no entry is found in the database for any error message produced by the compiler.
Claim 14
Dependent Claim 184 words
A computer software system for at least partially converting a program written for a first software environment to a converted program for a second, different software environment, the system comprising: a compiler for the second, different software environment, the compiler processing the program and producing an error message when an unknown program identifier is encountered in the program; a parser coupled to the compiler to receive the error message from the compiler and for outputing the unknown program identifier and a location of the unknown program identifier within the program; a dictionary database containing a database entry including the unknown program identifier and is corresponding different program identifier to be used in the converted program, the dictionary database coupled to the parser to receive the unknown program identifier and outputting in response thereto the corresponding different program identifier; and substitution code coupled to receive the dictionary database output and responsive to the location of the unknown program identifier and to the corresponding different program identifier, the substitution code operative to replace the unknown program identifier with the corresponding different program identifier within the program.
Claim 15
Dependent Claim 184 words
A computer software system for at least partially converting a program written for a first software environment to a converted program for a second, different software environment, the system comprising: a compiler for the second, different software environment, the compiler processing the program and producing an error message when an unknown program identifier is encountered in the program; a parser coupled to the compiler to receive the error message from the compiler and for outputing the unknown program identifier and a location of the unknown program identifier within the program; a dictionary database containing a database entry including the unknown program identifier and is corresponding different program identifier to be used in the converted program, the dictionary database coupled to the parser to receive the unknown program identifier and outputting in response thereto the corresponding different program identifier; and substitution code coupled to receive the dictionary database output and responsive to the location of the unknown program identifier and to the corresponding different program identifier, the substitution code operative to replace the unknown program identifier with the corresponding different program identifier within the program.
Claim 16
Dependent Claim 36 words
The apparatus of claim 12, further comprising control code coupled to the compiler, the parser, the database and the substitution code for causing the system to iteratively replace and recompile to thereby produce the converted program.
Claim 17
Dependent Claim 100 words
An article of manufacture comprising a computer usable medium having computer readable program code configured therein, the computer readable code in the article of manufacture comprising: computer readable program code configured to, in response to an error message from a compiler, retrieve from a database an entry for an unknown program identifier unknown by a compiler; and computer readable program code figured to replace at least one instance of the unknown program identifier with a different program identifier contained in an entry in the database, wherein the different program identifier corresponds to the unknown program identifier contained in the entry.
Claim 18
Dependent Claim 100 words
An article of manufacture comprising a computer usable medium having computer readable program code configured therein, the computer readable code in the article of manufacture comprising: computer readable program code configured to, in response to an error message from a compiler, retrieve from a database an entry for an unknown program identifier unknown by a compiler; and computer readable program code figured to replace at least one instance of the unknown program identifier with a different program identifier contained in an entry in the database, wherein the different program identifier corresponds to the unknown program identifier contained in the entry.

References Cited (Backward Citations)

GB2240861A Cited
US5459868A Cited
US5598560A Cited
US5673390A Cited
US5432942A Cited
US5325533A Cited
US5519867A Cited
US5664206A Cited
US5581697A Cited
US5675803A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-05-17 2002-11-16 2003-05-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-05-17 2006-11-16 2007-05-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-05-17 2010-11-16 2011-05-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag