From: triptych Date: 2002-02-11T07:02:29+09:00 Subject: [ANN] Ruth 0.8.0 The latest version of Robert Feldt's Ruth (version 0.8.0) is now available from the RubyVM project on SourceForge (http://sourceforge.net/project/showfiles.php?group_id=26000). I'm announcing this for Robert, partly cos he's busy PhD'ing, partly cos I use it in ByteCodeRuby -- Ruth really is excellent if you want access to the internals of the Ruby parser. -- George From the readme ============== Author: Robert Feldt, feldt@ce.chalmers.se What is it? ----------- Ruby extension giving classes and functions to access Ruby internals. Currently includes: * ruth/mri, Ruby::Interpreter.parse Gives a tree representing the internal parse tree used to execute a Ruby program. * ruth/mri, Ruby::Interpreter.method_body Returns the tree for the body of a method. And a painfully incomplete: * ruth/parser, Ruby.parse Parse Ruby source code into an abstract syntax tree. Currently uses RubySchema from Mathieu Bouchard's MetaRuby project to represent the AST's. Its a cheato-RubyInRuby parser since it looks like one but actually uses Matz's Ruby Interpreter's parser and then simply transforms the output. Advantage of this is that it parses exactly the same programs as MRI parses (since it uses the same parser). Disadvantage is that it relies on C code, isn't customizable etc.