I’m trying to parse some Ruby code from C#… I just want to scrape out
the class/module names and the methods defined for each.
Assuming I first throw away comments and string literals, I figured a
couple of regular expressions to pull out the class and method names
would do the trick.
But then I realized I need to handle the possibility of nested classes
(and knowing which methods belong to the inner class, and which ones
belong the outer class), and my code got real complicated real fast.
Some googling didn’t reveal much to me, but I’m hoping someone will know
of a well-known algorithm or regular expressions that will help me out?
Again, I just need to know the classes defined in a file and the methods
that go with them. No need for 100% perfection, just something that
will work across 80% of the Ruby files out there.
On Sun, Jun 11, 2006 at 04:15:15AM +0900, Jeff C. wrote:
I’m trying to parse some Ruby code from C#… I just want to scrape out
the class/module names and the methods defined for each.
[…]
Some googling didn’t reveal much to me, but I’m hoping someone will know
of a well-known algorithm or regular expressions that will help me out?
Well, not an algorithm, but perhaps you can learn from the source of
the
Ruby programs that do syntax highlighting to Ruby (see the thread
“Colored
syntax output” started by Robert MannI)…
Well, not an algorithm, but perhaps you can learn from the
source of the
Ruby programs that do syntax highlighting to Ruby (see the thread
“Colored
syntax output” started by Robert MannI)…
HTH,
check out the rdoc source.
Which I believe was derived from irb.
There’s also ParseTree, but I believe it is unsuitable for your problem.