On Thu, 2004-04-15 at 10:36, Frank J. Lhota wrote:
...
> 
> A way to fix this would be to add a new virtual machine instruction to allow
> this distinction be made. This new interuction would have the form
> 
>     covar    n
> 
> Executing this instruction would mark local variable n as one that is
> referenced in the next co-expression that is created. Assume that
> Some_Expression does references local variable 2 and 3. Then with this new
> instruction, the virtual machine code for the Icon expression
> 
>     create Some_Expression
> 
> would look like this:
> 
>             goto L2
>     lab L1
>             ...
>             (Code for Some-Express)
>             ...
>     lab L2
>             covar   2
>             covar   3
>             create L1
> 
> This would permit the virtual machine to distinguish between referenced and
> unreferenced dynamic variables.
> 
> Of all the changes I've done with Icon, I have never experimented with
> changing the virtual machine. Does anyone in the NG / mailing list have
> experience in this area? What pitfalls should I watch out for?

Hi Frank,

It's been over 20 years since I've played with the internals, so I'm
sure *I* won't be of any help!  However, one pitfall to watch out for
would be to make sure that nested creates work,  that is:

    create |@create !X

should work (even if it is insane to write the above code!)

-- 
Steve Wampler -- [EMAIL PROTECTED]
The gods that smiled on your birth are now laughing out loud.


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Unicon-group mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to