CodeWorker 4.2
Sponsored Links
CodeWorker 4.2 Ranking & Summary
File size:
2.9 MB
Platform:
Any Platform
License:
LGPL (GNU Lesser General Public License)
Price:
Downloads:
1275
Date added:
2006-05-02
Publisher:
CodeWorker
CodeWorker 4.2 description
CodeWorker is a versatile Open Source, licensed under GNU Lesser General Public License, parsing tool and a source code generator devoted to generative programming.
Generative programming is a software engineering approach interested in automating the production of reusable, tailor-made, adaptable and reliable IT systems.
In laymans terms, CodeWorker lets you generate code by parsing existing languages, or by creating and parsing your own language. Once a language file has been parsed, CodeWorker provides several techniques for generating code.
The tools scripting language drives the parsing and source code generation process. The scripting language syntax is derived from the C family of languages, making it familiar to most programmers.
The template syntax is like like JSP, ASP, or Velocity. It has variations for parsing, code generation, or functional programming, giving the developer a number of options for organizing CodeWorker projects.
Parsing
CodeWorker can be trained to parse almost any language and provides two distinct methods for creating parsers:
- the extended-BNF notation is declarative, and is a derivative of BNF (the Backus-Naur Form defines the grammar of a language) extended with regular expressions, predefined non-terminals and useful directives. Something close to javacc or to ANTLR in the JAVA world except a separate parser class is not necessary with CodeWorker. This means that parsing scripts can be tested without having to compile a separate parser class.
- Reading tokens is procedural and a somewhat obsolete now that CodeWorker handles BNF parsing scripts smoothly.
While parsing files, CodeWorker feeds nodes into a parse tree. A tree is a convenient structure to represent a hierarchical set of nodes, as in XML for instance.
The parse tree is populated by the parsing task, and used by the source code generation script to generate code, text or binary data.
Source Code Generation
CodeWorker can parse a language and use the resulting parse tree to generate source code via template-based scripts. One example is database DDL (Database Definition Language). CodeWorker has been used to parse DDL and generate large portions of a Java application.
CodeWorkers source code generation can occur in three ways: generation, expansion or translation.
- generation uses a script, much like JSP or PHP, to produce an output file. Only certain areas, called protected areas in the vocabulary of CodeWorker, are preserved in the file.
- expansion is used when small portions of an existing file need to be generated. The points where code is to be inserted are called markers in the vocabulary of CodeWorker, and code is inserted at the markers. The Class Wizard of Visual C++ generates code using this principle.
- translation mode is used when both parsing and source code generation are required to produce a file. Here are the description of two main families of use:
- source-to-source translation: a file must be rewritten in a different syntax. For example, a LaTeX file might have to be translated in HTML.
- program transformation: a source file has to change for optimizing, refactoring, instrumenting or rewriting selected portions. For example, a script could add a trace at the beginning of each function body of a JAVA or C++ source code. To do that, parsing discovers function bodies, and source code generation will insert the code that implements the trace.
Enhancements:
- Concepts of Aspect-Oriented Programming were added to code generation with joint points, advices, and point cuts.
- It allows a better separation of concerns inside a code generation process, leading to improved reading and maintenance of large and complex template-based scripts.
- A new BNF directive was added: #readPythonString.
- Some bugfixes and updates were made in the Eclipse plugin.
Generative programming is a software engineering approach interested in automating the production of reusable, tailor-made, adaptable and reliable IT systems.
In laymans terms, CodeWorker lets you generate code by parsing existing languages, or by creating and parsing your own language. Once a language file has been parsed, CodeWorker provides several techniques for generating code.
The tools scripting language drives the parsing and source code generation process. The scripting language syntax is derived from the C family of languages, making it familiar to most programmers.
The template syntax is like like JSP, ASP, or Velocity. It has variations for parsing, code generation, or functional programming, giving the developer a number of options for organizing CodeWorker projects.
Parsing
CodeWorker can be trained to parse almost any language and provides two distinct methods for creating parsers:
- the extended-BNF notation is declarative, and is a derivative of BNF (the Backus-Naur Form defines the grammar of a language) extended with regular expressions, predefined non-terminals and useful directives. Something close to javacc or to ANTLR in the JAVA world except a separate parser class is not necessary with CodeWorker. This means that parsing scripts can be tested without having to compile a separate parser class.
- Reading tokens is procedural and a somewhat obsolete now that CodeWorker handles BNF parsing scripts smoothly.
While parsing files, CodeWorker feeds nodes into a parse tree. A tree is a convenient structure to represent a hierarchical set of nodes, as in XML for instance.
The parse tree is populated by the parsing task, and used by the source code generation script to generate code, text or binary data.
Source Code Generation
CodeWorker can parse a language and use the resulting parse tree to generate source code via template-based scripts. One example is database DDL (Database Definition Language). CodeWorker has been used to parse DDL and generate large portions of a Java application.
CodeWorkers source code generation can occur in three ways: generation, expansion or translation.
- generation uses a script, much like JSP or PHP, to produce an output file. Only certain areas, called protected areas in the vocabulary of CodeWorker, are preserved in the file.
- expansion is used when small portions of an existing file need to be generated. The points where code is to be inserted are called markers in the vocabulary of CodeWorker, and code is inserted at the markers. The Class Wizard of Visual C++ generates code using this principle.
- translation mode is used when both parsing and source code generation are required to produce a file. Here are the description of two main families of use:
- source-to-source translation: a file must be rewritten in a different syntax. For example, a LaTeX file might have to be translated in HTML.
- program transformation: a source file has to change for optimizing, refactoring, instrumenting or rewriting selected portions. For example, a script could add a trace at the beginning of each function body of a JAVA or C++ source code. To do that, parsing discovers function bodies, and source code generation will insert the code that implements the trace.
Enhancements:
- Concepts of Aspect-Oriented Programming were added to code generation with joint points, advices, and point cuts.
- It allows a better separation of concerns inside a code generation process, leading to improved reading and maintenance of large and complex template-based scripts.
- A new BNF directive was added: #readPythonString.
- Some bugfixes and updates were made in the Eclipse plugin.
CodeWorker 4.2 Screenshot
CodeWorker 4.2 Keywords
CodeWorker
BNF
CodeWorker 4.2
Source code generation
source code generator
universal source code
source code
Code generation
Code generator
parsing tool
code
parsing
source
generation
language
file
Bookmark CodeWorker 4.2
CodeWorker 4.2 Copyright
WareSeeker periodically updates pricing and software information of CodeWorker 4.2 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of CodeWorker 4.2 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
code generation in action
source code library
source code available
source code vitacost
source code documentation
planet source code
frequency generation source code
c source code
source code hack
source code release
c++ source code for calculator
java source code
source code control
source code planet
vb source code
software source code
source codes
source code i'm not a number
Version History
Related Software
KNetmap is a network discovery, scanning, and probing tool for KDE. Free Download
phpCodeGenerator is a free database driven website code generator. Free Download
phpCodeGenie is a code writer/generator for PHP/MySQL applications. Free Download
W3Reg is designed as an userfriendly console program (no GUI sorry) for automatically registering web pages to search engines. Free Download
dtoGe project is a java source generation tool. Free Download
OutKafe project is a complete internet cafe management suite. Free Download
ELBot project is a bot for Eternal Lands. Free Download
MyDBO is a powerful object-oriented code generator for PHP/MySQL Web application developers. Free Download
Latest Software
Popular Software
Favourite Software