Patent US5579518A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5579518A Expired / Lapsed US ⏱️ 0.0 years remaining

Message compiler for object-oriented language that statically produces object code by provisionally identifying a set of candidate types

Assignee: Fujifilm Business Innovation Corp
•
Filing: 1995-05-31
•
Granted: 1996-11-26
•
Expires: 2015-05-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system including a message compiler for an object-oriented language with which object types are determined during execution of a programming code. The compiler compiles source code into object code. The compiler includes a provisional type identifying device for provisionally identifying a set of candidate types for an object to which a message is to be transmitted, based on a parsed result of the source code. A static method-searching device statically searches a method corresponding to the candidate type provisionally identified by the provisional type identifying device when the set of candidate types includes at least one candidate type. A type-checking code producing device produces object code to perform a type-check with the set of candidate types provisionally identified, if the set of candidate types includes more than one candidate type. A static call producing device produces, based on the method statically searched by the static method-searching device, object code for a statically bound call. The static call producing device also produces object code for a statically bound call if a candidate type of the set of candidate types is type-checked to be of a correct type. A dynamic call producing device produces object code for a dynamically bound call, if the provisional type identifying device identifies an empty set of the candidate types and produces object code if the candidate type is type-checked to be of an incorrect type.

Inventors

  • 👤 Kazuki Yasumatsu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 22:36
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/43; G06F8/436; G06F8/437; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/449; G06F9/4491

Claims Analysis

Total Claims: 5
Claim 1
Independent Claim 367 words
A data processing system including a message compiler, for an object-oriented language with which object types are determined during execution of a programming code, said compiler compiling source code relating to a message into object code, the message compiler comprising: source code parsing means for receiving said source code and for parsing said source code to identify at least one message containing said source code to be transmitted to a corresponding object; provisional type identifying means for identifying a set of candidate types for said corresponding object to which said at least one message is to be transmitted, based on a parsed result of said source code by said source code parsing means; static method-searching means for statically providing a method corresponding to each candidate type within said set of candidate types when said set of candidate types includes at least one candidate type; type-checking code producing means for producing object code at compile time to perform a type-check with each candidate type within said set of candidate types and said corresponding method, if said set of candidate types includes more than one candidate type; static call producing means for producing object code for a statically bound call based on said corresponding method statically provided by said static method-searching means if said set of candidate types includes only one correct type, and for producing object code for a statically bound call based on said corresponding method for a type-checked correct type for each candidate type within said set of candidate types; and dynamic call producing means for producing object code for a dynamically bound call, which will determine a type at execution time for the type that is unknown at compile time, if the provisional type identifying means identifies an empty set for said set of candidate types and if each candidate type within said set of candidate types is a type-checked incorrect type, wherein a first probability that said compiled object code from said source code is executed by said statically bound call during execution of said compiled object code is increased relative to a second probability that said compiled object code is executed by said dynamically bound call during execution of said compiled object code.
Claim 2
Dependent Claim 367 words
A data processing system including a message compiler, for an object-oriented language with which object types are determined during execution of a programming code, said compiler compiling source code relating to a message into object code, the message compiler comprising: source code parsing means for receiving said source code and for parsing said source code to identify at least one message containing said source code to be transmitted to a corresponding object; provisional type identifying means for identifying a set of candidate types for said corresponding object to which said at least one message is to be transmitted, based on a parsed result of said source code by said source code parsing means; static method-searching means for statically providing a method corresponding to each candidate type within said set of candidate types when said set of candidate types includes at least one candidate type; type-checking code producing means for producing object code at compile time to perform a type-check with each candidate type within said set of candidate types and said corresponding method, if said set of candidate types includes more than one candidate type; static call producing means for producing object code for a statically bound call based on said corresponding method statically provided by said static method-searching means if said set of candidate types includes only one correct type, and for producing object code for a statically bound call based on said corresponding method for a type-checked correct type for each candidate type within said set of candidate types; and dynamic call producing means for producing object code for a dynamically bound call, which will determine a type at execution time for the type that is unknown at compile time, if the provisional type identifying means identifies an empty set for said set of candidate types and if each candidate type within said set of candidate types is a type-checked incorrect type, wherein a first probability that said compiled object code from said source code is executed by said statically bound call during execution of said compiled object code is increased relative to a second probability that said compiled object code is executed by said dynamically bound call during execution of said compiled object code.
Claim 3
Dependent Claim 354 words
A data processing system including a message compiler, for an object-oriented language with which object types are determined during execution of a programming code, said compiler compiling source code relating to a message into object code, the message compiler comprising: source code parsing means for receiving said source code and for parsing said source code to identify at least one message containing said source code to be transmitted to a corresponding object; provisional type identifying means for identifying a set of candidate types for said corresponding object to which said at least one message is to be transmitted, based on a parsed result of said source code by said source code parsing means; static method-searching means for statically providing a method corresponding to each candidate type within said set of candidate types when said set of candidate types includes at least one candidate type, wherein a size of a method searching portion is checked by said static method-searching means, wherein said method corresponding to said each candidate type is provided only if said size of said method portion is less than a predetermined size; type-checking code producing means for producing object code at compile time to perform a type-check with each candidate type within said set of candidate types and said corresponding method, if said set of candidate types includes more than one candidate type; static call producing means for producing object code for a statically bound call based on said corresponding method statically provided by said static method-searching means if said set of candidate types includes only one correct type, and for producing object code for a statically bound call based on said corresponding method for a type-checked correct type for each candidate type within said set of candidate types; and dynamic call producing means for producing object code for a dynamically bound call, which will determine a type at execution time for the type that is unknown at compile time, if the provisional type identifying means identifies an empty set for said set of candidate types and if each candidate type within said set of candidate types is a type-checked incorrect type.
Claim 4
Dependent Claim 354 words
A data processing system including a message compiler, for an object-oriented language with which object types are determined during execution of a programming code, said compiler compiling source code relating to a message into object code, the message compiler comprising: source code parsing means for receiving said source code and for parsing said source code to identify at least one message containing said source code to be transmitted to a corresponding object; provisional type identifying means for identifying a set of candidate types for said corresponding object to which said at least one message is to be transmitted, based on a parsed result of said source code by said source code parsing means; static method-searching means for statically providing a method corresponding to each candidate type within said set of candidate types when said set of candidate types includes at least one candidate type, wherein a size of a method searching portion is checked by said static method-searching means, wherein said method corresponding to said each candidate type is provided only if said size of said method portion is less than a predetermined size; type-checking code producing means for producing object code at compile time to perform a type-check with each candidate type within said set of candidate types and said corresponding method, if said set of candidate types includes more than one candidate type; static call producing means for producing object code for a statically bound call based on said corresponding method statically provided by said static method-searching means if said set of candidate types includes only one correct type, and for producing object code for a statically bound call based on said corresponding method for a type-checked correct type for each candidate type within said set of candidate types; and dynamic call producing means for producing object code for a dynamically bound call, which will determine a type at execution time for the type that is unknown at compile time, if the provisional type identifying means identifies an empty set for said set of candidate types and if each candidate type within said set of candidate types is a type-checked incorrect type.
Claim 5
Dependent Claim 78 words
The system according to claim 1, wherein the object code is produced at compile time to perform a type-check with said each candidate type within said set of candidate types and said corresponding method by said type-checking code producing means if said set of candidate types is less than a preset number and even when said set of candidate types is greater than said preset number if an operator limitation is provided to said provisional type identifying means.

References Cited (Backward Citations)

JPH02231638A Cited
US5159687A Cited
US5335345A Cited
US5313630A Cited
US5297279A Cited
US5361350A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-26 2000-05-27 2000-11-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-26 2004-05-27 2004-11-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-26 2008-05-27 2008-11-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag