Claims
- 1. A translation system, comprising:
a front end for identifying source elements in a source file; and a back end for generating a translation file having translation elements corresponding to translation of said identified source elements and having an interface for receiving inputs for modifying said translation.
- 2. The system of claim 1, wherein the source file is for a source device and the translation file is for a disparate target device.
- 3. The system of claim 1, wherein the source file is a linear assembly file for a target device and the translation file is a scheduled assembly file for that device.
- 4. The system of claim 1, wherein the source file is an assembly language file.
- 5. The system of claim 4, wherein the translation file is an assembly language file.
- 6. The system of claim 1, wherein said translation is a context-dependent translation based on static analysis of the source file.
- 7. The system of claim 1, wherein the back end further comprises:
a translator for performing a context-dependent translation, the translator comprising: a translation machine description for mapping source opcodes to target opcodes; a source machine description containing a description of source opcodes and source operands in a generic representation; a target machine description containing a description of target opcodes and target operands in a generic representation; and wherein the translator receives a source instruction from said front end, utilizes the translation machine description and source machine description and target machine description to translate source elements into target elements.
- 8. The system of claim 7, wherein the proper target opcode is chosen from a group of potential target opcodes by comparing the target opcode and target operand with the source opcode and source operand.
- 9. The system of claim 7, wherein two or more source opcodes can be combined to a single target opcode when there is a target opcode that represents the two or more source code opcodes.
- 10. The system of claim 1, wherein the user interface is a graphical user interface.
- 11. The system of claim 10, wherein the graphical user interface displays at least a portion of the source elements in a source window, at least a portion of the translation elements in a translation window, and the source and translation windows are displayed side-by-side.
- 12. The system of claim 11, wherein corresponding groups of elements of the source and translation files are aligned in the source and translation windows.
- 13. The system of claim 11, wherein at least one of the source and translation windows is operable to display a status icon for an element in the window.
- 14. A method for performing translation comprising:
receiving a source file; identifying source elements in the source file; generating a translation file having translation elements by performing a context-dependent translation of the source elements; displaying the translation elements in an interface for receiving user inputs; and in response to user inputs, automatically regenerating selected translation elements based on the user inputs.
- 15. The method of claim 14, wherein the source file is for a source device and the translation file is for a disparate target device.
- 16. The method of claim 14, wherein the source file is a linear assembly file for a target device and the translation file is a scheduled assembly file for said target device.
- 17. The method of claim 14, wherein the source file is an assembly language file.
- 18. The method of claim 17, wherein the translation file is an assembly language file.
- 19. The method of claim 14, further comprising:
performing static analysis of the source elements in the source file; and performing context-dependent translation of the source elements based on the static analysis.
- 20. The method of claim 14, wherein the step of generating a translation file further comprises:
converting an opcode of a source machine to an opcode of a translation machine file by comparing the source opcode to possible translation opcodes; converting the operand of the source opcode by comparing an operand of the source opcode in a generic expression with a generic expression for a translation operand; combining the translation opcode and the translation operand to form a translation.
- 21. The method of claim 20, wherein the step of converting an opcode of the source file further comprises choosing a translation opcode from a group of potential translation opcodes by comparing the translation opcode and translation operand with the source opcode and source operand.
- 22. The method of claim 20, wherein the step of converting the source opcode further comprises the step of combining two or more source opcodes into a single translation opcode when there is a translation opcode that represents the two or more source opcodes.
- 23. The method of claim 14, wherein the user interface is a graphical user interface.
- 24. The method of claim 23, further comprising:
displaying the source elements in a source window; displaying the translation elements in a translation window; and displaying the source and translation windows side-byside in the graphical user interface.
- 25. The method of claim 24, further comprising aligning corresponding groups of elements of the source and translation files in the source and translation windows.
- 26. The method of claim 24, further comprising displaying a status icon for an element in at least one of the source and translation windows.
- 27. A translation system, comprising:
a computer capable of executing a program, and an interactive program for translating code for a first processor into code for a second processor and capable of being executed on said computer.
Parent Case Info
[0001] This application claims priority under 35 USC §119 (e) (1) of Provisional Application Ser. No. 60/106,243, filed Oct. 29, 1998.
Provisional Applications (5)
|
Number |
Date |
Country |
|
60106246 |
Oct 1998 |
US |
|
60106242 |
Oct 1998 |
US |
|
60106244 |
Oct 1998 |
US |
|
60106245 |
Oct 1998 |
US |
|
60106247 |
Oct 1998 |
US |
Divisions (2)
|
Number |
Date |
Country |
Parent |
09106244 |
Jun 1998 |
US |
Child |
09846743 |
May 2001 |
US |
Parent |
09429339 |
Oct 1999 |
US |
Child |
09846743 |
May 2001 |
US |