=?UTF-8?Q?Re:_[squeak-dev]_Blue_book, _the_stack_and_reverse_polish=C2=A0?= notation--please confirm/disavow/ridicule my reasoning
gettimothy
gettimothy at zoho.com
Tue Nov 19 17:01:49 UTC 2013
Eliot and Frank,
Thank you.
---- On Tue, 19 Nov 2013 08:47:00 -0800 Eliot Miranda<eliot.miranda at gmail.com> wrote ----
Hi Timothy,
On Tue, Nov 19, 2013 at 8:33 AM, gettimothy <gettimothy at zoho.com> wrote:
Part 4 of the Blue Book--chapter 26 The implementation--in the intro there is this example:
center
^ origin + corner / 2
With these operations
Rectangle center
0 push the value of the receiver's first instance variable (origin) onto the
stack
1 push the value of the receiver's second instance variable (corner) onto the
stack
176 send a binary message with the selector +
119 push the Smalllnteger 2 onto the stack
185 send a binary message with the selector /
124 return the object on top of the stack as the value of the message (center)
In a Workspace, when I doit on 3 + 7/2 I get 5, left, right, unary, binary....rules apply.
What I see here--and please check my reasoning--is a RPN that places things onto the stack via Smalltalk's order of operation rules and then does conventional RPN processing.
In other words, Smalltalk expressions are translated to RPN and then placed on the stack.
Yes, and so they are in most stack-based implementations of languages. Bytecode for a stack machine is a form of RPN.
A simple 'banish the thought' or 'yep' or 'sometimes' would be helpful as I move forward in my study. I am just trying to avoid carrying forward an improper idea that I will have to revise later when/if the facts turn out otherwise.
thx.
t
--
best,Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131119/9897783a/attachment.htm
More information about the Squeak-dev
mailing list
|