# CodeWorker

Changes on version 3.8.4
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 : treeref, key : string, position : int)
  Parameter | Type | Description
  list | treeref | an array of nodes
  key | string | the entry key of the element to insert
  position | int | where 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.