Here is an addition to VMMaker that enables browsing of C source for the interpreter and plugins.
It implements #asCString and #asCString: for object memory, interpreter, and plugin classes, and adds browser support for all Browser and MessageSet browsers.
In a browser, the 'What to show' menu will include selections for 'translate to C' and 'translate to inlined C'.
A cache of code generators is maintained in VMMaker to provide fast display of generated C source in browser windows. If a translatable class or method is changed, all affected cache entries are invalidated, and new code generators are created on demand.
In SmartSyntaxPluginTMethod, handling of selectors for 'primitive' directive has been changed to maintain the actual selector name (for method lookup from a browser), and adds selectorOverride to implement the primitive name generation.
The code is separated into one change set for the browser tools, and another for VMMaker. The browser tools changes allow a package (e.g. VMMaker) to register additional display options for browser code windows. The VMMaker changes provide the actual C code generation for browsers.
There are some differences between the Squeak 3.8 and 3.9 versions due to Traits, and due to the elimination of alternate syntax display in 3.9.