All,
I have been quite worried for some time regarding the source parser
(ripper) that we were using. Specifically, it was built off of a 2 year
old Ruby parser, and it has problems running under 1.8 on some
platforms. Since there is no Ruby parser that we can use, I wrote a
basic parser that creates the source parser tree by simply using the
indent levels of lines...and matches on
class <name>
module <name>
def <name>
It uses regex's and is quite fast. As an optimization, I do a SHA1 hash
of the parsed data and if it has not changed it returns the prior parse
tree. To test it load a couple of the big ruby files (like databus.rb,
etc) and open the source parser and flip back and forth between files.
I added files to the rubyide_tools_fox_source_browser and
rubyide_tools_source_parser plugins and change the plugin.yaml files to
point to these...so it is possible to go back to the old ripper-based
parser by simply changing these files.
If a couple of folks could use this and let me know how it works for you
it would be great.
-rich