Claims
- 1. A method of converting computer readable instructions, comprising:
receiving a set of computer readable instructions in a first, verifiable computer language; determining the type of a converted variable for use in the second computer language that has a type determined from the operations performed by the first set of computer readable instructions; and converting the set of computer readable instructions from the first computer language that operate on the variables in the first computer language to a second set of computer readable instructions that operate on the converted variables in a second computer language.
- 2. The method of claim 1 wherein the set of first computer language comprises an intermediate language.
- 3. The method of claim 2 wherein the intermediate language instructions comprise bytecode.
- 4. The method as recited in claim 2 wherein the intermediate language instructions are executable by a virtual machine.
- 5. The method as recited in claim 1 wherein the second set of computer readable instructions are executable by a virtual machine.
- 6. The method as recited in claim 1 wherein the first set of computer readable instructions comprise intermediate language instructions and are executable by a first virtual machine and wherein the second set of computer readable instructions comprise a second intermediate language and are executable by a second virtual machine.
- 7. The method as recited in claim 1 wherein the type of the converted variable is determined from the operations that are performed on the data pushed on a stack.
- 8. The method as recited in claim 1 wherein the type of the converted variable is determined from an instruction to load data into memory.
- 9. A computer readable medium bearing computer readable instruction for carrying out the acts comprising:
receiving a set of computer readable instructions in a first, verifiable computer language; determining the type of a converted variable for use in the second computer language that has a type determined from the operations performed by the first set of computer readable instructions; and converting the set of computer readable instructions from the first computer language that operate on the variables in the first computer language to a second set of computer readable instructions that operate on the converted variables in a second computer language.
- 10. The computer readable medium of claim 9 wherein the set of first computer language comprises an intermediate language.
- 11. The computer readable medium of claim 10 wherein the intermediate language instructions comprise bytecodes.
- 12. The computer readable medium of claim 10 wherein the intermediate language instructions are executable by a virtual machine.
- 13. The computer readable medium of claim 9 wherein the second set of computer readable instructions are executable by a virtual machine.
- 14. The computer readable medium of claim 9 wherein the first set of computer readable instructions comprise intermediate language instructions and are executable by a first virtual machine and wherein the second set of computer readable instructions comprise a second intermediate language and are executable by a second virtual machine.
- 15. The computer readable medium of claim 9 wherein the converted variable is determined from the size of the data pushed on a stack.
- 16. The computer readable medium of claim 9 wherein the converted variable is determined from an instruction to load data into memory.
- 17. A system for converting computer readable instructions, comprising:
A memory for storing a program comprising program code in a first intermediate language; A processor executing first computer instructions, the executed first computer instructions determining a converted variable for use in a second computer language that has a type determined from the operations performed by the stored code in the first intermediate language; and A processor executing second computer instructions, the executed second computer instructions converting the set of computer readable instructions from the first intermediate language that operate on the variables in the first intermediate language to a second set of computer readable instructions that operate on the converted variables in a second computer language.
- 18. The system as recited in claim 17 comprising a virtual machine for executing the second set of computer readable instructions.
- 19. The system as recited in claim 17 wherein the first intermediate language comprises bytecodes.
- 20. The system as recited in claim 19 wherein the bytecodes comprise Java byte codes.
- 21. The system as recited in claim 20 wherein the second computer language comprises an intermediate language that is not executable by a Java virtual machine.
- 22. The system as recited in claim 17 comprising transmitting the second set of computer readable instructions over a network for execution on a computing device.
- 23. The system as recited in claim 22 wherein the computing device comprises a virtual machine.
CROSS REFERENCES TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/417,718, filed Oct. 9, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60417718 |
Oct 2002 |
US |