Computer program product containing instructions for providing a processor the capability of executing an application derived from a compiled form
First Claim
Patent Images
1. A method of programming a device having a memory and a processor, the method comprising the steps of:
- inputting an application program in a first programming language;
compiling the application program in the first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by a first intermediate code virtual machine and not interpretable by a second intermediate code virtual machine;
converting the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by the second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine;
loading the second intermediate code into the memory of the device;
providing the application with specific privileges; and
upon detecting that the application attempts access to a data item on the device, determining whether the specific privileges of the application are sufficient to allow the application the access to the data item.
5 Assignments
0 Petitions
Accused Products
Abstract
An integrated circuit card is used with a terminal. The integrated circuit card includes a memory that stores an interpreter and an application that has a high level programming language format. A processor of the card is configured to use the interpreter to interpret the application for execution and to use a communicator of the card to communicate with the terminal.
-
Citations
16 Claims
-
1. A method of programming a device having a memory and a processor, the method comprising the steps of:
-
inputting an application program in a first programming language; compiling the application program in the first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by a first intermediate code virtual machine and not interpretable by a second intermediate code virtual machine; converting the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by the second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine; loading the second intermediate code into the memory of the device; providing the application with specific privileges; and upon detecting that the application attempts access to a data item on the device, determining whether the specific privileges of the application are sufficient to allow the application the access to the data item. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of programming a device having a memory and a processor, the method comprising the steps of:
-
inputting an application program in a first programming language; compiling the application program in the first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by a first intermediate code virtual machine and not interpretable by a second intermediate code virtual machine; converting the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by the second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine; and loading the second intermediate code into the memory of the device; wherein the second code virtual machine is set to recoginize a method invocation as being an invocation of a native code subroutine and upon recognizing the method invocation as being an invocation of a native code subroutine, transferring control to the native code subroutine. - View Dependent Claims (7, 8)
-
-
9. An electronic device, comprising:
-
a memory and a processor connected to the memory; the memory storing; a second intermediate code virtual machine configured to interpret applications in a converted form; and an application for the device obtained by; a compiler operable to compile an application program in a first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by at least one first intermediate code virtual machine and not interpretable by the second intermediate code virtual machine; and a converter operable to convert the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by a second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine; wherein the application has associated therewith specific privileges; and wherein the device is operable to, upon detecting that the application attempts access to a data item on the device, determine whether the specific privileges of the application are sufficient to allow the application the access to the data item. - View Dependent Claims (10, 11, 12)
-
-
13. An electronic device, comprising:
-
a memory and a processor connected to the memory; the memory storing; a second intermediate code virtual machine configured to interpret applications in a converted form; and an application for the device obtained by; a compiler operable to compile an application program in a first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by at least one first intermediate code virtual machine and not interpretable by the second intermediate code virtual machine; and a converter operable to convert the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by a second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine; and wherein the application has associated therewith specific privileges; and
wherein the device comprises an operating system operable to, upon detecting that the application attempts access to a data item on the device, determine whether the specific privileges of the application are sufficient to allow the application the access to the data item.
-
-
14. An electronic device, comprising:
-
a memory and a processor connected to the memory; the memory storing; a second intermediate code virtual machine configured to interpret applications in a converted form and further configured to recognize a method invocation as being an invocation of a native code subroutine and upon recognizing the method invocation as being an invocation of a native code subroutine, transferring control to the native code subroutine; and an application for the device obtained by; a compiler operable to compile an application program in a first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by at least one first intermediate code virtual machine and not interpretable by the second intermediate code virtual machine; and a converter operable to convert the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by a second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine. - View Dependent Claims (15, 16)
-
Specification