[ANN] ruby-ast-c++ 0.0.1

over the last few hours i finally got around to writing
an elsa based c++ "parsetree" style library for ruby.

an example usage is parsing of the Qt header qstring.h, and
listing of all the method names defined in QString.

anyone with interest please contact me for sources,
Alex

In article <fd29665dd4983337159fae67024bc7e3@lypanov.net>,

···

Alexander Kellett <ruby-lists@lypanov.net> wrote:

over the last few hours i finally got around to writing
an elsa based c++ "parsetree" style library for ruby.

an example usage is parsing of the Qt header qstring.h, and
listing of all the method names defined in QString.

anyone with interest please contact me for sources,
Alex

Definately interested. What is elsa?

Phil

http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/index.html
i just wrote a simple wrapper that parses the generated ast.
with this its pretty simple to get out needed information.
wrapper is attached, its really trivial :slight_smile:

t.rb (2.96 KB)

···

On Feb 14, 2005, at 11:05 AM, Phil Tomson wrote:

In article <fd29665dd4983337159fae67024bc7e3@lypanov.net>,
Alexander Kellett <ruby-lists@lypanov.net> wrote:

over the last few hours i finally got around to writing
an elsa based c++ "parsetree" style library for ruby.

an example usage is parsing of the Qt header qstring.h, and
listing of all the method names defined in QString.

Definately interested. What is elsa?

ptkwt@aracnet.com (Phil Tomson) writes:

In article <fd29665dd4983337159fae67024bc7e3@lypanov.net>,

over the last few hours i finally got around to writing
an elsa based c++ "parsetree" style library for ruby.

an example usage is parsing of the Qt header qstring.h, and
listing of all the method names defined in QString.

anyone with interest please contact me for sources,
Alex

Definately interested.

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).

If you're interested.

···

Alexander Kellett <ruby-lists@lypanov.net> wrote:

George Ogata wrote:

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).

If you're interested.

Very, very interested ! Please let me know where I can get it :slight_smile:
-- shanko

GIMMIE!!!! WANT WANT WANT!!!

···

On Feb 14, 2005, at 11:14 AM, George Ogata wrote:

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).
If you're interested.

In article <87ekfjj6ws.fsf@optushome.com.au>,

···

George Ogata <g_ogata@optushome.com.au> wrote:

ptkwt@aracnet.com (Phil Tomson) writes:

In article <fd29665dd4983337159fae67024bc7e3@lypanov.net>,
Alexander Kellett <ruby-lists@lypanov.net> wrote:

over the last few hours i finally got around to writing
an elsa based c++ "parsetree" style library for ruby.

an example usage is parsing of the Qt header qstring.h, and
listing of all the method names defined in QString.

anyone with interest please contact me for sources,
Alex

Definately interested.

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).

If you're interested.

Yes, please share. These sorts of things could really help us to
translate the Ruby C libs into pure Ruby.

Phil

I don't think that is the case actually. There is just far too much going on on the C side that isn't necessary once ported to ruby. We hand translated a smallish C file and it dropped about 40% off the size.

What we CAN do with it is make another feeder into the ruby2c tool chain and play with making more analysis tools. I'd LOVE to have something that can do the C family so I can extend parse_tree_abc and do complexity metrics on C (and with some work objective-c) code. This can help us identify the stickier files and get cracking on those first (or at least help people decide if they want to take a crack at it :).

···

On Feb 15, 2005, at 1:39 AM, Phil Tomson wrote:

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).

If you're interested.

Yes, please share. These sorts of things could really help us to
translate the Ruby C libs into pure Ruby.

--
ryand-ruby@zenspider.com - Seattle.rb - Seattle.rb | Home
http://blog.zenspider.com/ - http://rubyforge.org/projects/ruby2c

Shashank Date <sdate@everestkc.net> writes:

George Ogata wrote:

I've got a C99 (not C++) AST-constructor if you're interested too.
Pure ruby (right down to the lexer) though, so pretty slow at the
moment. The AST nodes are of different Node classes rather than just
being nested arrays. You can also use it to parse snippets (e.g.,
just a statement or a type name or something).
If you're interested.

Very, very interested ! Please let me know where I can get it :slight_smile:
-- shanko

Sorry for taking a while to follow up. Give me some time to doc' it
up properly and I'll have it on RubyForge shortly.