On Jun 1, 2004, at 2:28 PM, Lex Spoon wrote:
Colin Putney cputney@wiresong.ca wrote:
This is something I've been working on addressing for the next version of OmniBrowser. Essentially, the next version of OB will operate on an AST that begins with Package at the top and extends down through Class and Method to sub-method parse nodes like MessageSend and Literal.
Yep, I would love to have something around like this and not maintain my own. Already I have stopped using my custom parser in favor of RB's, and I could probably have dumped my parse nodes though that is more trouble than its worth so far. I still am having to deal with keeping an object model of the code in the image (or *not* in the image, depending on what you are analyzing). A lot of this object model could surely be offloaded into a tool like OmniBrowser... but of course, it doesn't actually exist yet. :)
Well, it does exist, it's just that OmniBrowser doesn't use it yet. The latest version is here:
http://monticello.wiresong.ca/ob/CodeModel-cwp.41.mcz
To run the tests, you'll also need these three packages, which have dummy code:
http://monticello.wiresong.ca/ob/BogusInfo-cwp.5.mcz http://monticello.wiresong.ca/ob/Bogus-cwp.13.mcz http://monticello.wiresong.ca/ob/BogusExt-cwp.1.mcz
I'll put this one SM once I get OmniBrowser using it and things stabilize a bit.
Another possible use of Chuck that occurred to me is in translation. With type information one could do a version of Slang that was a lot closer to Smalltalk, using actual objects and polymorphic messages.
Colin