Claims
- 1. A method for transforming an input file for multi-channel application into executable code, the method comprising the steps of:
analyzing declarative statements within the input file to form an intermediate model of the declarative statements; analyzing the declarative statements to remove inconsistencies; analyzing the intermediate model to provide optimizations; appending additional information to objects in the intermediate model to aid in code generation; and outputting code in an executable language.
- 2. The method of claim 1 wherein the step of analyzing declarative statements within the input file to form an intermediate model comprises:
interpreting the declarative statements and mapping said statements to objects; and interpreting the declarative statements to form relationships between objects.
- 3. The method of claim 1 wherein the step of analyzing declarative statements to remove inconsistencies comprises:
traversing through the intermediate model to discover and remove unreachable objects.
- 4. The method of claim 1 wherein the step of analyzing the intermediate model to provide optimizations comprises:
traversing through the intermediate model; eliminating unused objects which have no relationships to other objects; and replacing predefined object-to-object relationships with known optimized relationships.
- 5. The method of claim 1 wherein the step of appending additional information comprises:
traversing through the intermediate model to discover resources used within the intermediate model; storing discovered resources in a temporary storage; and marking the location of the discovered resources in the temporary storage.
- 6. The method of claim 1 wherein the step of outputting code comprises:
assigning code fragments to objects and object relationships; and traversing through the intermediate model to assigned output code fragments.
- 7. The method of claim 6 wherein the step of assigning code fragments includes:
mapping a particular object type with a code template that is to represent the object; and resolving a resource used by an object by referring to a temporary storage in which the resource is stored.
- 8. The method of claim 5 wherein the step of traversing through the intermediate model comprises:
going through each of the objects in a certain order; outputting a code fragment assigned to each object; and outputting the code fragment assigned to relationships from each object.
- 9. A method for-generating executable code for a multi-channel application, comprising the steps of:
receiving input files for the application; reading the application input files with by use of a parser; generating an internal model of declarative statements contained within the input files; pre-processing the internal model; traversing the pre-processed model and assigning code fragments for patterns of objects; and traversing the objects and generating executable code assigned to each object.
- 10. The method of claim 9 further comprising:
marking traversed objects so that the traversed objects are not revisited.
- 11. The method of claim 9 further comprising:
outputting a file containing the generated executable source code to a compiler.
- 12. The method of claim 9 wherein the step of pre-processing the internal model comprises:
removing unused objects; eliminating unreachable code; and replace patterns of objects with a known optimized pattern.
- 13. The method of claim 12 further comprising:
marking references to data objects in a resource mapping table during pre-processing; and resolving data object references by referring to a resource mapping table.
- 14. A system for generating executable code for a multi-channel application, comprising:
parsing means for receiving input files for the application and generating an intermediate model of the declarative statements within the input files; pre-processing means for optimizing and removing inconsistencies from the intermediate model, thereby generating a pre-processed model; means for traversing the pre-processed model and assigning code fragments for patterns of objects; and code generating means for traversing the objects and generating executable code assigned to each object.
- 15. The system of claim 14 wherein the pre-processing means comprises means for removing unused objects, eliminating unreachable code, and replacing patterns of objects with a known optimized pattern.
- 16. The system of claim 15 wherein the pre-processing means further comprises means for marking references to data objects into a mapping table of resources; and
wherein the system further comprises means for resolving data object references by referring to the mapping table of resources.
- 17. The system of claim 14 wherein the code generating means comprises means for marking traversed objects so that the traversed objects are not revisited.
- 18. The system of claim 14 wherein the code generating means comprises means for assembling the executable code into a file for outputting to a compiler.
CROSS-REFERENCE TO RELATED APPLICATIONS,
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/350,858, filed on Jan. 18, 2002, which is fully and completely incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60350858 |
Jan 2002 |
US |