Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
193 words
A method for generating a platform-standard object file, the method comprising the steps of: a) providing a machine-independent software module, wherein the machine-independent software module contains abstract code defining at least one procedure; b) analyzing said abstract code to determine whether any global variables are defined in said machine-independent software module; c) if any global variables are defined in said machine-independent software module, then c1) generating a list of definitions of said any global variables; c2) storing said list of definitions in said platform-standard object file; d) analyzing said abstract code to determine whether said at least one procedure references any external variables or external procedures; e) if said at least one procedure references any external variables or external procedures, then e1) generating a list of symbol references indicative of said any external variables or external procedures; e2) storing said list of symbol references in said platform-standard object file; f) generating a sequence of machine instructions for calling an execution routine when a client calls said at least one procedure; g) storing said sequence of machine instructions in said platform-standard object file; and h) storing said abstract code in said platform-standard object file.
Claim 2
Independent Claim
193 words
A method for generating a platform-standard object file, the method comprising the steps of: a) providing a machine-independent software module, wherein the machine-independent software module contains abstract code defining at least one procedure; b) analyzing said abstract code to determine whether any global variables are defined in said machine-independent software module; c) if any global variables are defined in said machine-independent software module, then c1) generating a list of definitions of said any global variables; c2) storing said list of definitions in said platform-standard object file; d) analyzing said abstract code to determine whether said at least one procedure references any external variables or external procedures; e) if said at least one procedure references any external variables or external procedures, then e1) generating a list of symbol references indicative of said any external variables or external procedures; e2) storing said list of symbol references in said platform-standard object file; f) generating a sequence of machine instructions for calling an execution routine when a client calls said at least one procedure; g) storing said sequence of machine instructions in said platform-standard object file; and h) storing said abstract code in said platform-standard object file.
Claim 3
Dependent Claim
28 words
The method of claim 1 further including a step of compressing said abstract code prior to said step of storing said abstract code in said platform-standard object file.
Claim 4
Dependent Claim
20 words
The method of claim 1 wherein said list of symbol references includes a symbol reference indicative of said execution routine.
Claim 5
Dependent Claim
23 words
The method of claim 1 wherein said execution routine is a routine for interpreting said abstract code of said at least one procedure.
Claim 6
Dependent Claim
35 words
The method of claim 1 wherein said execution routine is a routine for generating machine code responsive to said at least one procedure during execution of a program which includes said at least one procedure.
Claim 7
Dependent Claim
28 words
The method of claim 1 wherein said execution routine is a routine for causing a processor to execute previously-generated machine-specific instructions which implement said at least one procedure.
Claim 8
Independent Claim
126 words
A method for executing a computer program on a platform, said computer program including a first procedure implemented in a first platform-standard object file which calls a second procedure defined in a software module, the method comprising the steps of: a) generating a second platform-standard object file based on said software module, said second platform-standard object file including machine-independent abstract code; b) statically linking said first platform-standard object file to said second platform-standard object file; c) dynamically linking said second platform-standard object file to an execution routine during execution of said program; d) invoking said execution routine when said first procedure calls said second procedure; and e) causing said execution routine to execute said second procedure responsive to said code in said second platform-standard object file.
Claim 9
Independent Claim
126 words
A method for executing a computer program on a platform, said computer program including a first procedure implemented in a first platform-standard object file which calls a second procedure defined in a software module, the method comprising the steps of: a) generating a second platform-standard object file based on said software module, said second platform-standard object file including machine-independent abstract code; b) statically linking said first platform-standard object file to said second platform-standard object file; c) dynamically linking said second platform-standard object file to an execution routine during execution of said program; d) invoking said execution routine when said first procedure calls said second procedure; and e) causing said execution routine to execute said second procedure responsive to said code in said second platform-standard object file.
Claim 10
Dependent Claim
181 words
The method of claim 7 wherein said step of generating said second platform-standard object file based on said software module includes the steps of: a1) analyzing said abstract code to determine whether any global variables are defined in said software module; a2) if any global variables are defined in said software module, then i) generating a list of definitions of said any global variables; ii) storing said list of definitions in said second platform-standard object file; a3) analyzing said abstract code to determine whether said second procedure references any external variables or external procedures; a4) if said second procedure references any external variables or external procedures, then i) generating a list of symbol references indicative of said any external variables or external procedures; ii) storing said list of symbol references in said second platform-standard object file; a5) generating a sequence of machine instructions for calling said execution routine when said first procedure calls said second procedure; a6) storing said sequence of machine instructions in said second platform-standard object file; and a7) storing said abstract code in said second platform-standard object file.
Claim 11
Dependent Claim
14 words
The method of claim 7 wherein said software module is a machine-independent software module.
Claim 12
Dependent Claim
12 words
The method of claim 9 wherein said execution routine is an interpreter.
Claim 13
Dependent Claim
13 words
The method of claim 9 wherein said execution routine is a code generator.
Claim 14
Dependent Claim
59 words
The method of claim 9 wherein said execution routine executes said code according to a plurality of execution techniques, said step of causing said execution routine to execute said second procedure responsive to said code including the steps of: selecting an execution technique of said plurality of execution techniques; and executing said abstract code according to said execution technique.
Claim 15
Dependent Claim
29 words
The method of claim 12 wherein said plurality of execution techniques includes a technique for interpreting said code and a technique for generating machine code responsive to said code.
Claim 16
Dependent Claim
57 words
The method of claim 12 wherein said plurality of execution techniques includes a first technique generating machine code responsive to said code and a second technique for generating machine code responsive to said code, said first technique generating code relatively faster than said second technique, said second technique generating more efficient code relative to said first technique.
Claim 17
Dependent Claim
32 words
The method of claim 12 wherein said step of selecting an execution technique of said plurality of execution techniques is performed responsive to a frequency with which said second procedure is called.
Claim 18
Independent Claim
220 words
An apparatus for generating a platform-standard object file from a machine-independent software module stored on a storage unit, wherein the machine-independent software module contains abstract code defining at least one procedure, the apparatus comprising: a global variable processing unit for analyzing said abstract code to determine whether any global variables are defined in said machine-independent software module, if any global variables are defined in said machine-independent software module, then said global variable processing unit generating a list of definitions of said any global variables and storing said list of definitions in said platform-standard object file; an external reference processing unit for analyzing said abstract code to determine whether said at least one procedure references any external variables or external procedures, if said at least one procedure references any external variables or external procedures, then said external reference processing unit generating a list of symbol references indicative of said any external variables or external procedures and storing said list of symbol references in said platform-standard object file; a call routine generation unit for generating a sequence of machine instructions for calling an execution routine when a client calls said at least one procedure and storing said sequence of machine instructions in said platform-standard object file; and an abstract code encapsulating unit for storing said abstract code in said platform-standard object file.
Claim 19
Independent Claim
220 words
An apparatus for generating a platform-standard object file from a machine-independent software module stored on a storage unit, wherein the machine-independent software module contains abstract code defining at least one procedure, the apparatus comprising: a global variable processing unit for analyzing said abstract code to determine whether any global variables are defined in said machine-independent software module, if any global variables are defined in said machine-independent software module, then said global variable processing unit generating a list of definitions of said any global variables and storing said list of definitions in said platform-standard object file; an external reference processing unit for analyzing said abstract code to determine whether said at least one procedure references any external variables or external procedures, if said at least one procedure references any external variables or external procedures, then said external reference processing unit generating a list of symbol references indicative of said any external variables or external procedures and storing said list of symbol references in said platform-standard object file; a call routine generation unit for generating a sequence of machine instructions for calling an execution routine when a client calls said at least one procedure and storing said sequence of machine instructions in said platform-standard object file; and an abstract code encapsulating unit for storing said abstract code in said platform-standard object file.
Claim 20
Dependent Claim
20 words
The apparatus of claim 16 wherein said list of symbol references includes a symbol reference indicative of said execution routine.
Claim 21
Dependent Claim
23 words
The apparatus of claim 16 wherein said execution routine is a routine for interpreting said abstract code of said at least one procedure.
Claim 22
Dependent Claim
35 words
The apparatus of claim 16 wherein said execution routine is a routine for generating machine code responsive to said at least one procedure during execution of a program which includes said at least one procedure.
Claim 23
Dependent Claim
28 words
The apparatus of claim 16 wherein said execution routine is a routine for causing a processor to execute previously-generated machine-specific instructions which implement said at least one procedure.
Claim 24
Dependent Claim
56 words
The apparatus of claim 16 further comprising: a processor and a memory coupled to said processor, wherein each of said global variable processing unit, said external reference processing unit, said call routine generation unit and said abstract code encapsulating unit is implemented by causing said processor to execute a plurality of instructions stored in said memory.