|classes, stack and vm's firstname.lastname@example.org (Alexander Cohen) (2004-09-08)|
|From:||Alexander Cohen <email@example.com>|
|Date:||8 Sep 2004 00:06:17 -0400|
|Posted-Date:||08 Sep 2004 00:06:17 EDT|
Hi, im trying to learn a bit about virtual machines and how they
interact with the stack and the symbol list. Im a bit stuck on a
I have 1 stack and 1 symbol list. I have objects that can be created
and when created, they all have members and functions stored in the
object itself. The members are stored as an internal symbol list to
So lets say i want to call 1 of the functions of an object with a few
parameters like this:
obj2 = object.DoThis(par1)
And its defined like so:
return new obj2
lets say <object> is already on the top of the stack, its also in the
symbol list since its a valid instance of an object. I need to pop it
off, then push <par1> onto the stack. Then i can jump to
<object::DoThis> and it will pop the stack to get the first parameter.
Where should this be stored? Should i add it <object>s symbol list so
it can be used thoughout the function? Should i put it in a temp symbol
list? Should i have a local and a global symbol list. I would go
through the locals, and if i dont find the symbol i need, go through
the global one.
Is there any tutorial on something like anywhere? I feel like there are
just a few things i need to grasp a bit better.
Return to the
Search the comp.compilers archives again.