Release Notes: 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.
Release Notes: This is a major evolution of CodeWorker. It is now possible to integrate the CodeWorker's features regarding parsing and code generation into C++, Java, and .NET applications. The native translation of CodeWorker scripts produces a C++ source code file which can be optimized. The C++ optimizer is an external program transformation script that the developer can reuse to implement her own transformations.
Release Notes: A debugger session now accepts conditional breakpoints and handles watchpoints on variables, conditional or otherwise. These new features are very efficient for accelerating debugging. Conditions conform to the syntax of usual CodeWorker expressions. When a break/watchpoint is activated, a block of instructions can be executed. The block is a piece of CodeWorker script.
Release Notes: It is now recommended that variables be declared before use in the scripting language. A warning is displayed if they are not, and an error message will be displayed in future versions. A bug with the #nextStep BNF operator was fixed and allFloatingLocations() and addToDate() functions were added.
Release Notes: Some bugs were fixed in the native C++ translation of scripts. Some other minor bugs were corrected. Several new functions were added, notably for code generation, including semi-automatic indenting of output during generation. The plugins (external packages as dynamic libraries) must be recompiled as their header file has changed.
Release Notes: Serious improvements were made to code generation by expanding files. Expanding files (injecting characters at a location) could apply on formats accepting a undetermined sequence of characters for indicating a beginning or end of comment. Some other improvements were made, including better floating-point precision, less memory space occupied by graph nodes, and graph nodes that can point to external C++ data. There were also bugfixes and some new functions.
Release Notes: Some new BNF directives and some functions were added. "#tranformRules" provides a powerful manner to reuse BNF parse scripts. Some bugs were fixed. The C++ header file intended to build C++ dynamic library plugins has been improved. A syntax highlighting mode is now available for editing scripts in JEdit.
Release Notes: A powerful and interesting new feature is that template functions can generate their implementation via a pattern script. The speed of compiling scripts has improved. A new BNF operator and a new directive (#trace) were added. The jump BNF operator and the kind of variable assignment behind a BNF literal were enriched. The functions "getVariableAttributes()" and "inputKey()" were added. Some bugs were fixed.
Release Notes: More features are offered for building plug-in modules (dynamic libraries extending the language). Some new functions were added to the language, and the extended BNF was enriched. A bug was fixed in 'executeString()'.
Release Notes: A new fundamental feature was added: the language can be extended via packages implemented in executable modules (dynamic libraries), like in Tcl or other scripting languages. Now you can integrate your own functions or interface layers to work with databases or any other gluing requirements. The functions 'appendFile()' and 'composeSQLLikeString()' were added.