System and method for computing code generation
Abstract
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 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.
Claims
exact text as granted — not AI-modified1 . A system for code generation, comprising:
a data navigation layer that provides navigational access to a software application source data, via pointers to the source data; a template that specifies instructions to drive a code generation process that is applied to the source data; a parser that parses the template in accordance with rules, and accesses the source data via the pointers of the data navigation layer, to generate code; and a code output logic that outputs the generated code.
2 . The system of claim 1 wherein the navigation layer allows mapping of an abstracted data representation to the source data.
3 . The system of claim 1 , further comprising rules that implement template instructions and dynamically generate output.
4 . The system of claim 1 , wherein the system further comprises filters.
5 . The system of claim 4 , wherein the rules implement the template instructions, and wherein the filters are used to transform the source data.
6 . The system according to claim 4 , wherein the rules and filters are registered as plug-ins to the parser.
7 . The system of claim 1 , wherein the code output logic outputs the generated code to a storage device.
8 . The system of claim 1 , wherein the parser comprises a set of classes providing generation abstractions.
9 . The system of claim 1 , wherein the source data includes protected code sections that allow users to define parts of the output file to remain untouched by the code generation process.
10 . A method of generating computer code, comprising the steps of:
accessing a data navigation layer that provides navigational access to a software application source data, via pointers to the source data; accessing a template that specifies instructions to drive a code generation process that is applied to the source data; parsing the template in accordance with rules, and accessing the source data via the pointers of the data navigation layer, to generate code; and outputting the generated code.
11 . The method of claim 10 wherein the navigation layer allows mapping of an abstracted data representation to the source data.
12 . The method of claim 10 , further comprising accessing rules that implement template instructions and dynamically generate output.
13 . The method of claim 10 , further comprising accessing filters, wherein the rules implement the template instructions, and wherein the filters are used to transform the source data.
14 . The method according to claim 13 , wherein the rules and filters are registered as plug-ins.
15 . The method of claim 10 , wherein the step of outputting includes outputting the generated code to a storage device.
16 . The method of claim 10 , wherein the step of parsing includes accessing a set of classes that provide generation abstractions.
17 . The method of claim 10 , further comprising defining in the source data a protected code section that allow users to define parts of the output file to remain untouched by the code generation process.
18 . A computer readable medium including instructions stored thereon which when executed cause the computer to perform the steps of:
accessing a data navigation layer that provides navigational access to a software application design product source data, via pointers to the source data; accessing a template that specifies instructions to drive a code generation process that is applied to the source data; parsing the template in accordance with rules, and accessing the source data via the pointers of the data navigation layer, to generate code; and outputting the generated code.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.