Forum: Ruby Best way to parse Ruby code?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8217faf2bfdfa7daf10135d41ddd421e?d=identicon&s=25 Jeff Cohen (jeff)
on 2006-06-10 21:15
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.

Any ideas?

Thanks!
Jeff
04bd97396a23bebf19887fd041e15123?d=identicon&s=25 Esteban Manchado =?iso-8859-1?Q?Vel=E1zquez?= (Guest)
on 2006-06-11 04:28
(Received via mailing list)
On Sun, Jun 11, 2006 at 04:15:15AM +0900, Jeff Cohen 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)...

    HTH,
Cb48ca5059faf7409a5ab3745a964696?d=identicon&s=25 unknown (Guest)
on 2006-06-11 05:46
(Received via mailing list)
On Sun, 11 Jun 2006, Esteban Manchado [iso-8859-1] Velázquez wrote:

>
>    HTH,

check out the rdoc source.

-a
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2006-06-11 07:03
(Received via mailing list)
On Jun 10, 2006, at 8:45 PM, ara.t.howard@noaa.gov wrote:

>>> 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)...
>>
>>    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.

Check out the grammarians list:

http://rubyforge.org/mailman/listinfo/rubygrammar-...

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com
This topic is locked and can not be replied to.