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

Data representation for mixed-language program development

Assignee: Open Invention Network LLC
•
Filing: 1996-06-13
•
Granted: 2000-05-23
•
Expires: 2016-06-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method for enabling the simultaneous use of a first and a second programming language within a computer program, and apparatus to practice the method. To enable this sharing of languages, the present invention first provides for a common runtime representation of the data between the several languages in a program as a shared object model. The shared object model includes the layout of complex data structures (e.g., classes), the creation of data, the calling conventions, the destruction of data, the runtime representation of type information, dynamic function call dispatch, and dynamic type conversions. The use of a shared object model enables the sharing of the several compilers' internal representation of data between the different languages as a persistent shared symbol table. This shared internal data representation enables the several compilers to define their respective internal data representations in terms common to each of the compilers.

Inventors

  • 👤 Niklas Gustafsson
  • 👤 John Hamby

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 20:29
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/20; G06F8/40; G06F8/41; G06F8/47; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 174 words
A method for running a computer program with a first part in a first programming language with a first data structure and a second part in a second programming language with a second data structure, which is different than the first data structure, on a computing device with a CPU, bus means and memory means, comprising the steps of: compiling the first part of the computer program into a compiled first part of the computer program with a compiled first data structure; compiling the second part of the computer program, generating a second compiled part and transforming the second data structure of the second part of the computer program so that it is compatible with the compiled first data structure, so that the compiled second part of the computer program is able to read data formatted according to the compiled first data structure; running the first compiled part; running the second compiled part; and sharing data between the first compiled part and the second compiled part formatted according to the compiled first data structure.
Claim 2
Independent Claim 174 words
A method for running a computer program with a first part in a first programming language with a first data structure and a second part in a second programming language with a second data structure, which is different than the first data structure, on a computing device with a CPU, bus means and memory means, comprising the steps of: compiling the first part of the computer program into a compiled first part of the computer program with a compiled first data structure; compiling the second part of the computer program, generating a second compiled part and transforming the second data structure of the second part of the computer program so that it is compatible with the compiled first data structure, so that the compiled second part of the computer program is able to read data formatted according to the compiled first data structure; running the first compiled part; running the second compiled part; and sharing data between the first compiled part and the second compiled part formatted according to the compiled first data structure.
Claim 3
Dependent Claim 32 words
The method, as recited in claim 1, further comprising the step of generating a persistent shared symbol table of internal data representations of the first programming language and the second programming language.
Claim 4
Dependent Claim 35 words
The method, as recited in claim 1, wherein the step of compiling the second part of the computer program, comprises a step of using the persistent shared symbol table to transform the second data structure.
Claim 5
Dependent Claim 33 words
The method, as recited in claim 3, wherein the step of compiling the first part, uses the persistent shared symbol table to compile the first data structure to the compiled first data structure.
Claim 6
Dependent Claim 37 words
The method, as recited in claim 3, wherein the persistent shared symbol table contains information regarding creation of data, calling conventions, destruction of data, runtime representation of type information, dynamic function call dispatch, and dynamic type conversions.
Claim 7
Dependent Claim 31 words
The method, as recited in claim 1, wherein the step of running the second compiled part, runs the second compiled part simultaneously with the step of running the first compiled part.
Claim 8
Independent Claim 170 words
An apparatus for running a computer program with a first part in a first programming language with a first data structure and a second part in a second programming language with a second data structure, which is different than the first data structure, comprising: means for compiling the first part of the computer program into a compiled first part of the computer program with a compiled first data structure; means for compiling the second part of the computer program, generating a second compiled part and transforming the second data structure of the second part of the computer program so that it is compatible with the compiled first data structure, so that the compiled second part of the computer program is able to read data in formatted according to the compiled first data structure; means for running the first compiled part; means for running the second compiled part; and means for sharing data between the first compiled part and the second compiled part formatted according to the compiled first data structure.
Claim 9
Independent Claim 170 words
An apparatus for running a computer program with a first part in a first programming language with a first data structure and a second part in a second programming language with a second data structure, which is different than the first data structure, comprising: means for compiling the first part of the computer program into a compiled first part of the computer program with a compiled first data structure; means for compiling the second part of the computer program, generating a second compiled part and transforming the second data structure of the second part of the computer program so that it is compatible with the compiled first data structure, so that the compiled second part of the computer program is able to read data in formatted according to the compiled first data structure; means for running the first compiled part; means for running the second compiled part; and means for sharing data between the first compiled part and the second compiled part formatted according to the compiled first data structure.
Claim 10
Dependent Claim 31 words
The apparatus, as recited in claim 7, further comprising means for generating a persistent shared symbol table of internal data representations of the first programming language and the second programming language.
Claim 11
Dependent Claim 35 words
The apparatus, as recited in claim 7, wherein the means for compiling the second part of the computer program, comprises a means for using the persistent shared symbol table to transform the second data structure.
Claim 12
Dependent Claim 31 words
The apparatus, as recited in claim 7, wherein the means for running the second compiled part, comprises means for running the second compiled part simultaneously to running the first compiled part.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag