I implemented interactive Slang code browsing as a VMMaker enhancement for Squeak 3.8 and 3.9. I'm not sure what to do with this, so for now I just stuck it on the swiki at http://wiki.squeak.org/squeak/5916.
After loading the change set, you can select either 'translate to C' or 'translate to inlined C' in the 'What to show' menu of a normal browser (any Browser or MessageSet). Translated C code it displayed in the browser code window.
It's quite fast, because a cache of code generators is maintained to support browsing. If a translatable class or method is changed, all affected cache entries are invalidated, and new code generators are created on demand.
Anyone who has ever gone digging through the generated C source for the VM or for a plugin is sure to appreciate this.
Dave
I updated SlangBrowser on http://wiki.squeak.org/squeak/5916 to separate the browser tools changes from the changes that belong in the VMMaker package. The browser tools changes just allow a package (VMMaker) to register new code display options in the browsers. The remaining changes are (I hope) now properly categorized under VMMaker.
I have not figured out how to turn these into Montecello diffs yet, so they are still change sets at this point.
Dave
On Sat, Feb 03, 2007 at 02:36:51PM -0500, David T. Lewis wrote:
I implemented interactive Slang code browsing as a VMMaker enhancement for Squeak 3.8 and 3.9. I'm not sure what to do with this, so for now I just stuck it on the swiki at http://wiki.squeak.org/squeak/5916.
After loading the change set, you can select either 'translate to C' or 'translate to inlined C' in the 'What to show' menu of a normal browser (any Browser or MessageSet). Translated C code it displayed in the browser code window.
It's quite fast, because a cache of code generators is maintained to support browsing. If a translatable class or method is changed, all affected cache entries are invalidated, and new code generators are created on demand.
Anyone who has ever gone digging through the generated C source for the VM or for a plugin is sure to appreciate this.
Dave
vm-dev@lists.squeakfoundation.org