In a message dated 12/4/99 11:09:51 PM, you wrote:
<<Ex. 5: do "put 1 into var1" First, this will be compiled. Slot 0 will
be
... assigned to var1 on line 2. And slot 1 to
put var1 into var0 var0 [don't ask]. However, they will not
answer var0 exist until line two, and until then those
slots can be used by temps.
Script starts executing. First thing that
happens is the do command. This causes a call
into NuParser to parse it, then a compile
of that one line. The compiler sees slot 0
is reserved for var1, and uses it for the
do command. All is well, until somewhere in the
"..." a temp is used -- demolishing the value
in slot 0, because slot 0 should of been free.
Then line 3 comes, and that's the end of any
valid results.>>
Why don't you include a symbol table at the beginning of the compiled
code so that whenever the DO command is used, the symbol table can be checked
to generate a new variable? Of course, the symbol table will have to be
loaded into memory, because it can change while executing DO commands, but
the extra overhead strikes me as trivial, considering that the DO and SEND
commands will add overhead no matter what you do.