Download



CodeWorker is distributed under the terms of the GNU Lesser General Public License.
The Sun Solaris version compiles under CC v8 correctly since version 3.5.
The Mac version compiles under Mac OS X 10.3 correctly since version 3.4.
The Linux version compiles under gcc 3.2 20020927.
CodeWorker runs under Cygwin correctly since version 2.09.

Under Linux/Unix, please read the Makefile before compiling.

Under Windows platform, you might have to download the DLLs below:
  • From version 3.5 of the binary: runtime DLLs of VC++ 7.1 msvcp71.dll and msvcr71.dll in "‰SystemRoot‰/System32".
  • Up to version version 3.4 of the binary: runtime DLL of VC++ 6.0 msvcp60.dll in "‰SystemRoot‰/System32".

Please do not hesitate to contact us for any trouble (source recompiling, binaries, constructive criticisms, suggestions, ...).

 To subscribe to new releases.

CodeWorker 3.8.4, 19jan2005
Platform Type Size Archive
WINDOWS 98/2000/NT/XP binaries -4 CodeWorker_WIN3_8_4.zip
Any platform (?) sources -4 CodeWorker_SRC3_8_4.zip
Changes
Date Type Caller Description
19jan2005 bug_fix Lionel AUROUX The predefined BNF terminal #readCChar had the same behaviour as #readCString, instead of consuming a C-like constant character.
18jan2005 bug_fix - the assignment operator setall was causing a memory leak or a crash on attributes pointing to a reference, while freeing the memory.
11jan2005 bug_fix - The BNF directive #skipIgnore wasn't applying correctly the implicit copy: the scanned text was repeated twice.
10jan2005 bug_fix - An ellipsis exception may have occured when a dynamic library module was compiled with a too ancient version of CodeWorker ("CW4dl.h" or "CppParsingTree.h" or "CGRuntime.h" has changed).
17dec2004 bug_fix - The and-or junction BNF operator (symbol &| was returning a failure when the right-hand side member was unable to match the input.
15dec2004 bug_fix - The interpreter crashed when an argument had the same name as the BNF rule. Now, an explicit error message occurs.
08dec2004 improvement - During the parsing of a floating-point number, the dot is consumed only if it doesn't exist a second dot just behind the first one:
  • if you parse a double at the beginning of "2. is a floating point", 2. is consumed.
  • if you parse a double at the beginning of "2..n", 2 only is consumed.
03dec2004 improvement Eric NICOLAS Now, the compiler detects an attempt to declare the reserved variables this or project as local or global.
02dec2004 function -
  • procedure insertElementAt(list : treerefkey : stringposition : int)
    ParameterTypeDescription
    listtreerefan array of nodes
    keystringthe entry key of the element to insert
    positionintwhere to insert the new element, starting at 0

    Insert a new element to list, at a position given by the argument position. The argument key indicates the key of this element, which is built empty.

    If the key is an empty string, then the key is supposed to be worth the size of the list automatically.

    You can access the new element by writing either:

    list#[position]


    or

    list[key]

29nov2004 feature - Add of #ignore(Ada) for eliminating Ada comments and whitespaces in a extended-BNF script.
CodeWorker 3.8.3, 19nov2004
Platform Type Size Archive
WINDOWS 98/2000/NT/XP binaries 574602 CodeWorker_WIN3_8_3.zip
Any platform (?) sources 1668657 CodeWorker_SRC3_8_3.zip
Changes
Date Type Caller Description
19nov2004 bug_fix Laurent RIESTERER A temporary file, used during the code generation of a source file, was badly formed: the path was containing anti-slashes, which may have caused some troubles on non-Windows platforms.
14nov2004 bug_fix - About expressions embedded between tags @@ in a template-based script: starting with a constant string was causing an unrelevant syntax error.
04nov2004 bug_fix - the assignment operator setall wasn't copying attributes pointing to a reference correctly.
26oct2004 improvement - Now, the binding to the dynamic library libcurl is resolved while using the cURL API. So, the dynamic library doesn't need to be present if you don't use the cURL API.
29oct2004 bug_fix - An imperative parse script (parseFree()) wasn't reentrant completely: an ellipsis exceptions might have appeared in some cases.
26oct2004 bug_fix - In the native C++ translation of scripts for building a standalone executable:
  • aVariable#front ignored during the C++ translation in some cases,
  • the keyword cascading wasn't taken into account while translating foreach and forfile,
  • the return value of a BNF symbol (piece of text matched) wasn't concatenated correctly when needed (functionality rarely required).
CodeWorker 3.8.2, 07oct2004
Platform Type Size Archive
WINDOWS 98/2000/NT/XP binaries 571481 CodeWorker_WIN3_8_2.zip
Any platform (?) sources 1659058 CodeWorker_SRC3_8_2.zip
Changes
Date Type Caller Description
03oct2004 improvement - Now, the local and localref and global statements accept more than one variable declaration, separated by commas.

Example:

// declaration of 3 local variables in one shot
local a = "1", b, c= 2;

03oct2004 feature - Now, the path of dynamic library plugins can end with a "_d" suffix for debug version.

Examples for a plugin named MyModule:

MyModulecw_d.dll
MyModulecw_d.so

03oct2004 feature - Add of setIntValue() and setDoubleValue() in the interpreter interface, as declared in "CW4dl.h", used for building C++ dynamic library plugins intended to extend CodeWorker.
26sep2004 bug_fix - Infinite loop in saveProject(), when the root graph project has a child referring to a node.
19sep2004 bug_fix - Sometimes, the interpreted was detecting a syntax error on the extended-BNF directive #catch, while the writing was correct.
18sep2004 bug_fix Thierry WILMOT Now, the declaration of a local variable my-local-variable must be explicit, before calling the BNF directives #insert(my-local-variable) or #pushItem(my-local-variable).
07sep2004 bug_fix - the function composeHTMLLikeString() recognizes the apostrophe correctly, and doesn't invert this character anymore.
07sep2004 improvement - An error message raises if the BNF directive #nextStep is used outside of a jump or repeat regular expression.
CodeWorker 3.8, 24aug2004
Platform Type Size Archive
WINDOWS 98/2000/NT/XP binaries 570036 CodeWorker_WIN3_8.zip
Any platform (?) sources 1648999 CodeWorker_SRC3_8.zip
Changes
Date Type Caller Description
22aug2004 improvement - Now, the function scanFiles() accepts a path in the short filename pattern.

Example:

scanFiles(dir, "project/examples", "src/*.cpp", true)


will filter:

"project/examples/airplanes/src/*.cpp"
"project/examples/boats/yacht/src/*.cpp"
"project/examples/bicycles/src/*.cpp"

15aug2004 bug_fix - The native C++ translation of CodeWorker‘s scripts has been corrected on some features:
  • the BNF directive #skipIgnore,
  • the BNF binary operator ‘|>‘,
14aug2004 improvement - A new format type was added to the function completeDate: ‘%|‘. Once the date has been iterated up to the end, if the format wasn‘t applied on it completely, an error occurs, except if ‘%|‘ stands at the current position in the format.
14aug2004 feature - The statement exit was added, for exiting CodeWorker with an error code. It expects an integer expression, for determining the value of the error code that the interpreter will have to return to the system.
14aug2004 feature - The new predefined BNF directive #readUptoIgnore was added. It reads all characters up to encountering the first insignificant one. Insignificant characters are those to ignore between BNF terminal matchings, and specified thanks to the directive #ignore.
10aug2004 improvement - Now, the native C++ translation of CodeWorker‘s scripts generates a GNU makefile of the project.
08aug2004 deprecated - The functions getInputLocation() and setInputLocation() replace the respective obsolete getLocation() and setLocation() writings.
07aug2004 bug_fix - The native C++ translation of CodeWorker‘s scripts has been corrected on some features:
  • initialization of predefined global variables (_ARGS and _REQUEST),
  • C++ writing of variable expressions in general,
  • implicit copy in a translation script,
07aug2004 bug_fix - The date conversion of a two-digits year to a four-digit one was erroneous in the function formatDate().

Click here to look up all past downloads of CodeWorker

 CodeWorker is maintained by Cedric Lemaire. Please send a mail to Submit a bug or feature