Claims
- 1. An apparatus for generating a platform specific compiler, comprising:a set of user defined platform dependent compiler architecture descriptors that describe corresponding architectural features of a particular hardware platform dependent compiler; an architecture descriptor compiler arranged to convert the user defined platform dependent compiler architecture descriptors into the platform dependent compiler source code; a host compiler arranged to compile the platform dependent compiler source code into platform dependent compiler object code; platform independent compiler object code; and an interface arranged to mediate the flow of information between the platform dependent compiler object code and the platform independent compiler object code during run time for the platform specific compiler.
- 2. An apparatus as recited in claim 1, wherein the platform specific compiler includes platform independent compiler object code and platform dependent compiler object code suitable for execution of the particular hardware platform.
- 3. An apparatus as recited in claim 2, wherein during platform specific compiler run time, the platform independent compiler object code requests specific platform dependent object code information by providing an information request to the interface which directs the information request to a pre-determined platform dependent compiler object code information retriever.
- 4. An apparatus as recited in claim 3, wherein the platform dependent compiler object code information retriever responds to the information request by retrieving specific platform dependent compiler object code information in satisfaction of the information request.
- 5. An apparatus as recited in claim 4, wherein the retrieved information is provided to the interface which, in turn, directs the information to the information requestor.
- 6. An apparatus as recited in claim 1, wherein said apparatus comprises a plurality of sets of user defined platform dependent architecture descriptors, wherein each of which corresponds to a different hardware platform.
- 7. A method of building a platform specific compiler, comprising:providing a set of user defined platform dependent compiler architecture descriptors that describe corresponding architectural features of a particular hardware platform dependent compiler; converting the set of user defined platform dependent compiler architecture descriptors into platform dependent compiler source code by an architecture descriptor compiler; compiling the platform dependent compiler source code into platform dependent object code by a host compiler coupled to the architecture descriptor compiler; providing platform independent compiler object code, wherein the platform independent compiler object code and the platform dependent compiler object code are suitable for execution on the particular hardware platform; forming the platform specific compiler from the platform dependent compiler object code and the platform independent compiler object code; providing an information request to an interface; and directing the information request to a pre-determined platform dependent compiler object code information retriever by the interface.
- 8. A method as recited in claim 7, further comprising:requesting specific platform dependent object code information by the platform independent compiler object code by the platform independent object code during platform specific compiler run time.
- 9. A method as recited in claim 8, further comprising:retrieving specific platform dependent compiler object code information in satisfaction of the information request in response to the request by the information retriever.
- 10. A method as recited in claim 9, further comprising:directing the retrieved information to the information requester by the interface.
- 11. A method as recited in claim 10, further comprising:directing the retrieved information to the information requestor by the interface.
- 12. A platform specific compiler, comprising:a platform dependent compiler object code; a platform independent compiler object code, wherein the platform independent compiler object code and the platform dependent compiler object code are suitable for execution on a particular hardware platform; an interface partially embedded in the platform independent compiler object code and partially embedded in the platform dependent compiler object code, wherein during platform specific compiler run time, the interface mediates flow of information between the platform independent compiler code and the platform dependent compiler code.
- 13. A platform specific compiler as recited in claim 12, wherein during platform specific compiler run time, the platform independent compiler object code requests specific platform dependent object code information by providing an information request to the interface which directs the information request to a pre-determined platform dependent compiler object code information retriever.
- 14. A platform specific compiler as recited in claim 13, wherein the platform dependent compiler object code information retriever responds to the information request by retrieving specific platform dependent compiler object code information in satisfaction of the information request.
- 15. A platform specific compiler as recited in claim 14, wherein the retrieved information is provided to the interface which, in turn, directs the information to the information requester.
- 16. A platform specific compiler as recited in claim 12, wherein said platform specific compiler further comprises a plurality of sets of user defined platform dependent architecture descriptors, wherein each of which corresponds to a different hardware platform.
CROSS REFERENCE TO RELATED APPLICATION
This application claims benefit of priority under 35 U.S.C. §119(e) of (i) U.S. Provisional Application No. 60/130,671 filed Apr. 23, 1999, and entitled “File Portability Techniques” and (ii) is a continuation to U.S. application Ser. No. 09/298,327 filed Apr. 23, 1999, now abandoned, and entitled “File Portability Techniques which are each hereby incorporated by reference in their entireties. This application is also related to (i) U.S. application Ser. No. 09/298,251 filed Apr. 23, 1999, now U.S. Pat. No. 6,285,134, and entitled “Instruction Selection in a Multi-Platform Environment” which is hereby incorporated by reference, and (ii) U.S. application Ser. No. 09/298,637 filed Apr. 23, 1999 and entitled “Automatic Adapter/Stub Generator” which are each hereby incorporated by reference in their entireties.
This specification includes a Computer Program Listing Appendix on CD-ROM having 6 files named: sun282appA.txt, created on Apr. 5, 2002, which is 23 kilobytes in size, sun282appB.txt, created on Apr. 5, 2002, which is 22 kilobytes in size; sun282appC.txt, created on Apr. 5, 2002, which is 39 kilobytes in size; sun282appD.txt, created on Apr. 5, 2002, which is 26 kilobytes in size; sun282appE.txt, created on Apr. 5, 2002, which is 39 kilobytes in size; sun282appF.txt, created on Apr. 5, 2002, which is 21 kilobytes in size; and are incorporated herein by reference.
US Referenced Citations (10)
Non-Patent Literature Citations (3)
Entry |
Wazlowski et al., “PRISM-II Compiler and Architecture,” Proceedings, IEEE Workshop on FPGAs for Custom Computing Machines, Apr. 5-7, 1993, pp. 9-16.* |
Hatcher et al., “Efficient Retargetable Compiler Code Generation,” Proceedings, International Conference on Computer Languages, Oct. 9-13, 1998, pp. 25-30.* |
Aho et al., “Compilers Principles, Techniques, and Tools,” Chapter 11 Want to Write a Compiler?, Mar., 1988, ISBN 0-201-10088-6, pp. 723-732. |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/130671 |
Apr 1999 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/298327 |
Apr 1999 |
US |
Child |
09/558408 |
|
US |