System and method for computer code generation
First Claim
1. A system for code generation from a software application design product source data, comprising:
- a data navigation layer that interfaces with, and provides navigational access to, a software application design product source data, wherein said data navigation layer provides navigation inside the source data via a combination of pointers to the source data;
a template that specifies instructions to drive a code generation process that is applied to said source data;
a parser that parses said template in accordance with specified rules, filters, and conditions, and accesses the source data via the pointers of the data navigation layer, to generate code, wherein said specified rules implement the template instructions, and wherein said filters are used to transform data; and
, a code output mechanism that outputs said generated code.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a system and method for computer code generation that can be used to generate code and configuration files from any data source. In accordance with one embodiment of the invention a Generator Framework provides a common set of standards and APIs through which designs may be input. The purpose of the Generator Framework is to unify the code generation techniques implemented in products such as the Builder products from BEA Systems, Inc., by introducing sufficient abstraction levels. Built-in rules are introduced in the Generator Framework, and a data navigation layer isolates the Generator Framework from the data sources used. Filters can be added to the framework to transform data. Notifiers are used by the Generator Framework to notify external components about the generation process.
-
Citations
27 Claims
-
1. A system for code generation from a software application design product source data, comprising:
-
a data navigation layer that interfaces with, and provides navigational access to, a software application design product source data, wherein said data navigation layer provides navigation inside the source data via a combination of pointers to the source data;
a template that specifies instructions to drive a code generation process that is applied to said source data;
a parser that parses said template in accordance with specified rules, filters, and conditions, and accesses the source data via the pointers of the data navigation layer, to generate code, wherein said specified rules implement the template instructions, and wherein said filters are used to transform data; and
,a code output mechanism that outputs said generated code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 26)
-
-
13. A method of generating computer code, comprising the steps of:
-
providing a data navigation layer to interface with, and to provide navigational access to, a software application design product source data, wherein said data navigation layer provides navigation inside the source data via a combination of pointers to the source data;
providing a template to specify instructions to drive a code generation process that is applied to said source data;
parsing said template using a parser in accordance with specified rules, filters, and conditions, and accessing the source data via the pointers of the data navigation layer, to generate code, wherein said specified rules implement the template instructions, and wherein said filters are used to transform data; and
,outputting, via a code output mechanism, said generated code. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27)
-
-
25. A system for code generation, comprising:
-
a data navigation layer to interface with, and for providing navigational access to, a software application design product source data, said navigation layer allows mapping of an abstracted data representation to said source data;
a template to specify instructions to drive a code generation process that is applied to said source data;
a parser to parse said template in accordance with any specified rules, filters, conditions, and notifiers, and accessing the source data via the data navigation layer, to generate code, said parser provides functions to manipulate a scope stack, wherein said scope stack addresses said abstracted data representation, said parser creates a hierarchical scope stack, navigation within said scope stack is by a pointer;
rules that implement template instructions and dynamically generate output;
notifiers that include logic applied when a rule is invoked, to allow external components to be notified of the progress of the code generation process;
condition specifiers that include logic applied when a rule is invoked, to evaluate conditions and allow code generation depending on specific conditions; and
,filters that include logic applied when a rule is invoked, to transform data.
-
Specification