Changes on version 3.2 | ||||||||||||
Date | Type | Caller | Description | |||||||||
22nov2003 | feature | - | The BNF directive #trace traces the resolution steps of an extendedBNF script. Hit a key to interrupt the display of trace information and to pause the controlling sequence. | |||||||||
22nov2003 | function | - |
|
|||||||||
20nov2003 | bug_fix | Gwenael CHAZAL | CodeWorker crashed when an expression was passed to a node parameter of any nonterminal BNF symbol, instead of passing a tree node. Now, it raises an error. | |||||||||
20nov2003 | feature | Maxime BOURGET | A BNF symbol resolved with success, has accepted the assignment of its scanned portion of
sentence to a variable for a long time: B:v means
that the text covered by B is assigned to v.
Now, you can specify to concatenate the covered text to the ancient value of the variable:
B:+v.
Example: If v is worth "nebula:" and if the sentence starts with "Orion.", then v becomes "nebula:Orion" after the resolution of #readIdentifier:+v. |
|||||||||
20nov2003 | improvement | - | The template functions accept a templatebased script to define their body.
The specialization of a function for a given template instantiation key is resolved at runtime.
Example:
|
|||||||||
19nov2003 | improvement | - | The engine has improved the compilations speed of scripts. | |||||||||
17nov2003 | feature | Maxime BOURGET | A new BNF binary operator |> was added.
The sequence A |> B is understood as considering
the sub sentence scanned by A, which delimits the portion of text left
visible to B. B starts scanning at the beginning of
the sub sentence covered by A and cannot go beyond.
When the operator has achieved with success, the cursor points to the end of the
sub sentence covered by A.
Youll find below the different steps processed by the operator:
>\n |> [>:]* restricts the colon recognition to the line. |
|||||||||
17nov2003 | improvement | Maxime BOURGET | The BNF operator > admits a syntax extension, for the adjustment of its internal
mechanism.
>A jumps just after the the first matching of A in the sentence.
It processes the equivalent piece of extendedBNF script:
Note: the boundaries must be declared just after the arrow. The text covered by >A includes the unmatched characters plus the sub sentence scanned by A, so >A:v assigns the complete covered text to the variable v. This is sometimes a drawback: perhaps do you want to take the unmatched character or the sub sentence scanned by A. So now, you can specify the variables intended to receive these intermediate values: >(:varBefore :varAfter)A:varTotal Note: the intermediate variables are declared just before the BNF symbol A, after the boundaries if any. Example: We will apply [>(:varBefore :varAfter) #readNumeric]:varTotal on the sentence "Garfield.laziness 99.99 percent":
>(:varBefore :varAfter B)A The advantage of infiltrating the BNF sequence B is that the intermediate variables are populated, and that the cursor doesnt point after the matching of A yet, but at the beginning of the sub sentence matched by A. |
|||||||||
15nov2003 | function | Maxime BOURGET |
|