Structure of objects and execution (with effects on v

Les Tyrrell tyrrell at
Tue Oct 27 15:52:44 UTC 1998

> The following is an obvious statement, but it bears saying:
> The parse tree is derived from the source, and the byte-codes are dervived
> from the parse-tree.

This can also be reversed... the Decompiler takes byte-codes and generates
first the parse tree, and then a printed form based on the auto-formatting
code in the parse nodes.  I will be rebuilding that last step, so that
auto-formatting is done by a visitor rather than the nodes.  As a side
effect, a visitor framework will be built that would also allow analysis
tools to be easily built.

> At each step, information is lost... not gained.  Obviously these two 
> representations are more efficient in certain domains... byte codes are 
> easier to execute, more compact, parse trees are easier to analyze. But
> these are all optimizations, derived from the source.  Alternate source
> representations should move in the direction of the user, not the computer.

I believe that any current information loss due to these transformations
can be solved.  The bytecodes used for the Smalltalk VM map rather well
into the model of execution that actually is presented to the user, and
I don't think there really is all that much opportunity for information
loss even in the existing system.


More information about the Squeak-dev mailing list