Claims
- 1. A method for distributing information for interfacing to a software program, the method comprising the steps of:
a) generating, by a converter processing a first software program, a certain file having an interface definition for the first software program, wherein the first software program is capable of being referenced by a second software program; and b) providing a generator for generating first source code for the first software program from the certain file, so that second source code may be developed and the second program may be compiled from the first and second source code.
- 2. The method of claim 1, wherein the wherein step a) comprises generating export information for the certain file and the method comprises the step of:
providing a converter for generating an executable version of the second software program responsive to processing the certain file and the compiled second software program.
- 3. The method of claim 1, wherein the first software program has classes and the interface definition includes indications of immediate super classes for respective ones of the classes.
- 4. The method of claim 3, wherein the immediate super class for a class is indicated in an ordered list of classes.
- 5. The method of claim 1, wherein the first software program has classes and step a) comprises generating export information for the certain file including a list of ones of the classes, and wherein the interface definition includes immediate super class indications, the immediate super class indications being provided by an ordering of the list.
- 6. The method of claim 1, wherein the first software program has methods and the interface definition includes indications of whether ones of the methods are overridden.
- 7. The method of claim 6, wherein the indications of whether ones of the methods are overridden include respective flags.
- 8. The method of claim 1, wherein the first software program has methods and step a) comprises generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the methods are overridden included as respective flags in the certain set.
- 9. The method of claim 1, wherein the first software program has fields, and the interface definition includes an indication of whether ones of the fields are overridden.
- 10. The method of claim 9, wherein the indications of whether ones of the fields are overridden include respective flags.
- 11. The method of claim 1, wherein the first software program has fields and step a) comprises generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the fields are overridden included as respective flags in the certain set.
- 12. The method of claim 1, wherein the interface definition includes indications of types of exceptions.
- 13. A method for generating a file having interface definitions and export information from export information for a first software program, the method comprising the steps of:
ordering a list of classes of the first program from the export information to provide an indication of super classes of the classes.
- 14. The method of claim 13, comprising the step of:
adding first flags to a certain flag space of the export information, wherein the first flags indicate whether respective methods of the first software program are overridden.
- 15. The method of claim 14, comprising the step of:
adding second flags to a certain flag space of the export information, wherein the second flags indicate whether respective fields of the first software program are overridden.
- 16. The method of claim 15, comprising the step of:
adding indications of types of exceptions to the export information.
- 17. A computer program product for distributing information for interfacing to a software program, the computer program product comprising:
first instructions for generating, by a converter processing a first software program, a certain file having an interface definition for the first software program, wherein the first software program is capable of being referenced by a second software program; and second instructions for generating first source code for the first software program from the certain file, so that second source code may be developed and the second program may be compiled from the first and second source code.
- 18. The computer program product of claim 17, wherein the first instructions comprise instructions for generating export information for the certain file, and the computer program product comprises:
third instructions for generating an executable version of the second software program responsive to processing the file and the compiled second software program.
- 19. The computer program product of claim 17, wherein the first software program has classes and the interface definition includes indications of immediate super classes for respective ones of the classes.
- 20. The computer program product of claim 19, wherein the immediate super class for a class is indicated in an ordered list of classes.
- 21. The computer program product of claim 17, wherein the first software program has classes and the first instructions comprise instructions for generating export information for the certain file including a list of ones of the classes, and wherein the interface definition includes immediate super class indications, the immediate super class indications being provided by an ordering of the list.
- 22. The computer program product of claim 17, wherein the first software program has methods and the interface definition includes indications of whether ones of the methods are overridden.
- 23. The computer program product of claim 22, wherein the indications of whether ones of the methods are overridden include respective flags.
- 24. The computer program product of claim 17, wherein the first software program has methods and the first instructions comprise instructions for generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the methods are overridden included as respective flags in the certain set.
- 25. The computer program product of claim 17, wherein the first software program has fields, and the interface definition includes an indication of whether ones of the fields are overridden.
- 26. The computer program product of claim 25, wherein the indications of whether ones of the fields are overridden include respective flags.
- 27. The computer program product of claim 17, wherein the first software program has fields and the first instructions comprise instructions for generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the fields are overridden included as respective flags in the certain set.
- 28. The computer program product of claim 17, wherein the interface definition includes indications of types of exceptions.
- 29. A computer program product for generating a file having interface definition and export information from export information for a software program, the computer program product comprising:
first instructions for ordering a list of classes included in the export information, to provide an indication of super classes of the classes.
- 30. The computer program product of claim 29 comprising:
second instructions for adding first flags to a certain flag space of the export information, wherein the first flags indicate whether respective methods of the first software program are overridden.
- 31. The computer program product of claim 30 comprising:
third instructions for adding second flags to a certain flag space of the export information, wherein the second flags indicate whether respective fields of the first software program are overridden.
- 32. The computer program product of claim 31 comprising:
fourth instructions for adding indications of types of exceptions to the export information.
- 33. An apparatus comprising:
a processor; a memory coupled to the processor for storing instructions for controlling the processor, wherein the processor is operative with the instructions to perform the steps of:
a) generating, by a converter processing a first software program, a certain file having an interface definition for a first software program, wherein the first software program is capable of being referenced by a second software program; and b) providing a generator for generating first source code for the first software program from the certain file, so that second source code may be developed and the second software program may be compiled from the first and second source code.
- 34. The apparatus of claim 33, wherein step a) comprises generating export information for the certain file, and the processor is operative with the instructions to perform the step of:
providing a converter for generating an executable version of the second software program responsive to processing the interface definition and export file and the compiled second software program.
- 35. The apparatus of claim 33, wherein the first software program has classes and the interface definition includes indications of immediate super classes for respective ones of the classes.
- 36. The apparatus of claim 35, wherein the immediate super class for a class is indicated in an ordered list of classes.
- 37. The apparatus of claim 33, wherein the first software program has classes and step a) comprises generating export information for the certain file including a list of ones of the classes, and wherein the interface definition has immediate super class indications, the immediate super class indications being provided by an ordering of the list.
- 38. The apparatus of claim 33, wherein the first software program has methods and the interface definition includes indications of whether ones of the methods are overridden.
- 39. The apparatus of claim 38, wherein the indications of whether ones of the methods are overridden include respective flags.
- 40. The apparatus of claim 33, wherein the first software program has methods and step a) comprises generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the methods are overridden included as respective flags in the certain set.
- 41. The apparatus of claim 33, wherein the first software program has fields, and the interface definition includes an indication of whether ones of the fields are overridden.
- 42. The apparatus of claim 41, wherein the indications of whether ones of the fields are overridden include respective flags.
- 43. The apparatus of claim 33, wherein the first software program has fields and step a) comprises generating export information for the certain file including a certain set of access flags, and wherein the interface definition has indications of whether respective ones of the fields are overridden included as respective flags included in the certain set.
- 44. The apparatus of claim 33, wherein the interface definition includes indications of types of exceptions.
- 45. An apparatus for generating a file having interface definition and export information from export information for a software program, the apparatus comprising:
a processor; a memory coupled to the processor for storing instructions for controlling the processor, wherein the processor is operative with the instructions to perform the step of:
ordering a list of classes included in the export information, to provide an indication of super classes of the classes.
- 46. The apparatus of claim 45, wherein the processor is operative with the instructions to perform the step of:
adding first flags to a certain flag space of the export information, wherein the first flags indicate whether respective methods of the first software program are overridden.
- 47. The apparatus of claim 46, wherein the processor is operative with the instructions to perform the step of:
adding second flags to a certain flag space of the export information, wherein the second flags indicate whether respective fields of the first software program are overridden.
- 48. The apparatus of claim 47, wherein the processor is operative with the instructions to perform the step of:
adding indications of types of exceptions to the export information.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to the following application, which is hereby incorporated herein by reference: Wilkerson et al., “Using a High Level Programming Language with a Microcontroller,” application Ser. No. 08/957,512, filed Oct. 24, 1997, provisional application No. 60/029,057, filed Oct. 25, 1996.