Code Worker

Program-Transformation.Org: The Program Transformation Wiki
This tool is a scripting language (distributed under LGPL at http://www.codeworker.org) dedicated to automate the development process, from requirements specification to IT system development.

The scripting language adapts its syntax to the subject it has to handle:

  • an extended-BNF syntax (declarative part of the language) for recognizing the format of the specifications to parse,
  • a procedural language for manipulating easily parse trees (the only structured type admitted by CodeWorker), strings, files and directories,
  • a template-based syntax (imperative part) like in PHP or JSP, which facilitates the writing of template-based code generation.

Thanks to this syntax adaptation, the scripting language is able to easily:

  • acquire any kind of specification of the IT system to produce (people often prefers XML, but it isn't necessary : do easily your own adapted data format),
  • generate source code in a classical way (as Rational ROSE), managing preserved areas of text that accept hand-typed code,
  • expand a source file like the class-wizard of Visual C++ (generated text is inserted at specified markups in the source code),
  • translate from a format to another (LaTeX to HTML, XSL to CodeWorker, ... no limit to source-to-source translation),
  • transform a source file (to instrument a source file with profiling features, ... program transformation).

These tasks are executed in a straightforward process, with no binding to an external programming language and with no translation of requirements specification.

-- CedricLemaire - 31 Jul 2003