Soft82.com » Windows » Developer Tools » Tools & Editors » Specialized Tools » CodeWorker 4.5.4
CodeWorker 4.5.4
Download CodeWorker
| Developer | |
| Product Homepage | |
| Date Added | May 03, 2010, 06:57 GMT |
| License | Free (Freeware) |
| Last Week / All Time Downloads | 0 / 113 |
| Size | 614.4K |
| OS Support | Windows All |
CodeWorker Description
A versatile Open Source parsing tool and a source code generator
CodeWorker is a versatile Open Source (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 layman's 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 tool's 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 JSP, ASP, or Velocity. It has variations for parsing, code generation, or procedural programming, giving the developer a number of options for organizing CodeWorker projects.
It is also possible to integrate the CodeWorker's features about parsing and code generation into C++, Java and .NET applications:
* a Java interface to the CodeWorker API,
* a .NET assembly of the CodeWorker API,
CodeWorker provides a scripting language adapted both to the description of language grammars and to the writing of code generation templates. Unfortunately, scripts are arduous to read without syntax coloring.
Hopefully, there now exists an plugin (click on the image to download it). The plugin provides an editor for each kind of script, with syntax highlighting. An informational tooltip appears when the cursor moves on built-in functions. The reference manual is completely integrated in the Help Contents menu topic. A tutorial is also accessible from the same location.
Future developments are coming, relative to launching a code generation project from the IDE, instead of just running the command line in a shell.
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.
CodeWorker's 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 markups in the vocabulary of CodeWorker, and code is inserted at the markups. 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:
o 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.
o 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.
Parse-to-Generate: a straightforward process
Tasks for parsing specifications and generating code are executed in a straightforward process presented in the figure below. Because CodeWorker includes an expressive scripting language, there is no need for a separate "glue language" to join parsing and generation tasks.
The figure describes the classical approach used in a leader script interpreted by CodeWorker. It shows the script, which calls first a BNF-parse script, before continuing in sequence and calling a template-based script.
CodeWorker 100% CLEAN Certification
CodeWorker has been tested by Soft82.com team against viruses, spyware, adware, trojan, backdoors and was found to be 100% clean. Our editors will recheck this software periodically to assure that it remains clean.
View Antivirus ReportDownload CodeWorker
New Specialized Tools Software
JPlexMay 25, 2012Java lexical analyzer generator |
Deskzilla ProMay 24, 2012A desktop client for Mozilla's Bugzilla bug tracking system |
|||
Exceptions DeployerMay 24, 2012Command line tool for automating the deployment of Adobe Application Manager |
InstallSimple PortableMay 23, 2012Create installation package easily and quickly |
|||
Aptana StudioMay 22, 2012Build web applications quickly and easily |
UIMap ToolboxMay 22, 2012Restructure, split and merge UIMaps |
|||
ExeScriptMay 21, 2012Create secured stand-alone applications from BAT, VBS, JS or WSH scripts |
Pacestar UML DiagrammerMay 18, 2012Professional easy to learn and use UML diagram drawing tool |
|||
Advanced InstallerMay 17, 2012The power of Windows Installer made easy |
Simply FortranMay 17, 2012Affordable Fortran for Microsoft Windows |
|||
Virto Bulk File Unzip Utility for Microsoft SharePointMay 15, 2012Easily unpack archives and save extracted files to the document library |
Affinic Debugger GUIMay 15, 2012Affinic Debugger GUI .aka. ADG, is designed as a graphical user interface for various debuggers |
|||
Flat AssemblerMay 15, 2012Open source assembly language compiler |
YouTrackMay 11, 2012An innovative, keyboard-centric issue tracking and project tracking tool |
|||
PorterMay 11, 2012Web development server for PHP/Node/MySQL developers |
EasyPHPMay 11, 2012A complete and ready-to-use environment for PHP developers |
|||
PeStudioMay 9, 2012PeStudio shows you many security relevant details about any application |
SourcemaidMay 9, 2012Zip and deliver project code with one click |
|||
PHPMay 9, 2012PHP is a server-side, cross-platform, HTML embedded scripting language |
Pastebin DesktopMay 8, 2012Take full advantage of your Pastebin.com account |
|||
Last 7 Days Most Downloaded Specialized Tools Products
Google SketchUp393 downloadsGoogle SketchUp is an easy-to-learn 3D modeling program |
Project 2007 SDK102 downloadsHelp customize and integrate the Project 2007 clients and Project Server 2007 with other apps |
|||
Microsoft Expression Web85 downloadsives you all the tools you'll need to produce high-quality, standards-based Web sites |
VirtualBox67 downloadsVirtualBox: Employ server and desktop solution for x86 hardware |
|||
WinDriver USB Device67 downloadsUSB Firmware Development Toolkit |
Adobe Bridge SDK33 downloadsEnables developers to integrate with and extend Bridge |
|||
PHP30 downloadsPHP is a server-side, cross-platform, HTML embedded scripting language |
WinDriver28 downloadsWinDriver automates and simplifies the development of user mode Windows device drivers for... |
|||
PyScripter27 downloadsAn open-source Python Integrated Development Environment (IDE) |
Axis24 downloadsApache Axis is an implementation of the SOAP ( |
|||
All Time Most Downloaded Specialized Tools Products
Google SketchUp136,967 downloadsGoogle SketchUp is an easy-to-learn 3D modeling program |
Project 2007 SDK506 downloadsHelp customize and integrate the Project 2007 clients and Project Server 2007 with other apps |
|||
Microsoft Expression Web20,516 downloadsives you all the tools you'll need to produce high-quality, standards-based Web sites |
VirtualBox29,707 downloadsVirtualBox: Employ server and desktop solution for x86 hardware |
|||
WinDriver USB Device58,892 downloadsUSB Firmware Development Toolkit |
Adobe Bridge SDK3,604 downloadsEnables developers to integrate with and extend Bridge |
|||
PHP13,246 downloadsPHP is a server-side, cross-platform, HTML embedded scripting language |
WinDriver7,137 downloadsWinDriver automates and simplifies the development of user mode Windows device drivers for... |
|||
PyScripter1,789 downloadsAn open-source Python Integrated Development Environment (IDE) |
Axis1,446 downloadsApache Axis is an implementation of the SOAP ( |
|||
Download CodeWorker

