Environment-caused SyntaxError running build scripts (was Re: [squeak-dev] error when updating Squeak4.4-12327 to trunk)

Eliot Miranda eliot.miranda at gmail.com
Wed Mar 13 22:57:17 UTC 2013


On Tue, Mar 12, 2013 at 11:52 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:

> On 2013-03-12, at 15:59, Colin Putney <colin at wiresong.com> wrote:
>
> > On Tue, Mar 12, 2013 at 3:17 AM, Bert Freudenberg <bert at freudenbergs.de>
> wrote:
> >
> > Isn't #value too general to serve as a specially treated token in the
> decompiler? It might easily appear in code.
> >
> > AFAICT, the decompiler should special case a send of #value *to a
> binding*, not just any send of #value. There's no way to refer directly to
> a binding with regular Smalltalk code, right?
>
> Ah. Well, I guess it would be the first time the decompiler behavior
> depends on the *kind* of literal stored, but then, maybe that's not so bad.
> Being able to just use #value would be nice indeed.
>

The point is that one can't mention variable bindings in code directly.
 There's no literal denotation of a binding; bindings (Associations and/or
VariableBindings et al) are not literals; the only way to introduce a
binding into the bytecode is via a global variable reference.  So if the
Decompiler finds a binding on the decompilation stack it knows that that is
a variable reference, and hence that "aBinding value" must be a variable
dereference.

And of course, any other reference to a binding in code will be a send,
e.g. self classPool associationAt: #Foo will appear to the debugger as a
send of #associationAt:, not as a VariableNode for #Foo.
-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130313/ccb0431e/attachment.htm


More information about the Squeak-dev mailing list