Linux SoftwareProgrammingCode GeneratorsCodeWorker 4.5.4

CodeWorker 4.5.4


CodeWorker is a versatile Open Source, licensed under GNU Lesser General Public License, parsing tool and a source code generator dev
Developer:   CodeWorker
      more software by author →
Price:  0.00
License:   LGPL (GNU Lesser General Public License)
File size:   0K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


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 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 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.

    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 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.

    What's New in This Release:
  • 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.
    tags code generation  source code  and source  parse tree  that parsing  for example  parser class  used when  the vocabulary  template based  separate parser  parsing scripts  based scripts  

    Download CodeWorker 4.5.4


     http://www.codeworker.org/downloads/CodeWorker_WIN4_5_4.zip


    Authors software

    CodeWorker 4.5.4 (by CodeWorker)
    CodeWorker is a versatile Open Source, licensed under GNU Lesser General Public License, parsing tool and a source code generator dev


    Similar software

    CodeWorker 4.5.4 (by CodeWorker)
    CodeWorker is a versatile Open Source, licensed under GNU Lesser General Public License, parsing tool and a source code generator dev

    ClearParse 016 (by ClearJump)
    ClearParse project is a flexible engine that can be used for any parsing task including interpreting or compiling programming languag

    Jxp 1.5.1 (by thlee)
    Jxp (Java scripted page) is a script-processor/template-engine that can execute template files containing text + java code

    Neko 1.5.2 (by Nicolas Cannasse)
    Neko is an interpreter and programming language

    Jostraca 0.4.1 (by Richard Rodger)
    Jostraca is a general purpose code generation toolkit for software developers.

    Jostraca project uses JSP syntax and can be configu

    SableCC 3.2 (by Etienne M. Gagnon)
    SableCC is an object-oriented framework that generates compilers (and interpreters) in the Java programming language

    phpCodeGenie 3.0.2 (by Nilesh Dosooye)
    phpCodeGenie (PCG) is a code generator for database driven applications

    Parse::RecDescent 1.94 (by Damian Conway)

    SourceBrowser 0.20050801 (by Dimitris Vyzovitis)
    SourceBrowser is a documentation meta-programming tool that generates a wiki for a source tree.

    The project provides a domain spec

    StringParser_BBCode 0.3.1 (by Christian Seiler)
    StringParser_BBCode class provides the possibility to parse strings with BB-Codes and convert them to e.g


    Other software in this category

    eAccelerator 0.9.5 (by Dominique Karg)
    eAccelerator is a further development from mmcache PHP Accelerator & Encoder.

    eAccelerator increases performance of PHP scripts by

    phpCodeGenie 3.0.2 (by Nilesh Dosooye)
    phpCodeGenie (PCG) is a code generator for database driven applications

    Mathomatic 12.5.12 (by George Gesslein II)
    Mathomatic is a highly portable, general purpose symbolic math program that can solve, simplify, combine, differentiate, integrate, a

    CodeWorker 4.5.4 (by CodeWorker)
    CodeWorker is a versatile Open Source, licensed under GNU Lesser General Public License, parsing tool and a source code generator dev

    phpMyEdit 5.6 (by Ondrej Jombik and John McCreesh)
    phpMyEdit generates PHP code for displaying/editing MySQL tables in HTML

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags