[ANN] Rb++ / RbGCCXML 1.0

J

Jason Roelofs

What is rb++ / rbgccxml?

Rb++, rbgccxml, and rice compose a suite of tools that make wrapping =
C++ libraries into
Ruby extensions as simple as possible. This is built as a replacement =
for SWIG-Ruby.

What's New

* Full 1.9.2 support.
* MinGW / MSYS build support on Windows.
* Lots of tweaks and bug fixes.

rb++:
* Support for Rice::define_implicit_cast
* Re-added indentation and styling of the generated C++ code, should =
be a little easier to read.

rbgccxml:
* Now using SAX to parse XML instead of DOM. Startup speed can be =
slow as the XML tree gets
built into memory but overall parsing and querying, especially of =
very large libraries, is
many times faster.

Project

Documentation: http://rbplusplus.rubyforge.org

rb++: http://github.com/jameskilton/rbplusplus
rbgccxml: http://github.com/jameskilton/rbgccxml


Installation

This single command will grab the whole stack needed for rb++ to work.

gem install rbplusplus

The stack includes four libraries: rb++, rbgccxml, gccxml_gem, and =
rice


rb++

Rb++ makes it almost trivially easy to create Ruby extensions for C++ =
library.
In the simplest of cases, there is no need to ever touch C++, =
everything is done
in a very simple and clean Ruby API.


rbgccxml

RbGCCXML allows one to easily parse out and query C / C++ code.
This library uses GCC-XML to parse out the C / C++ code into XML, and =
then nokogiri
to parse and query that XML.


gccxml_gem

GCC-XML (www.gccxml.org) is an application that takes takes the parse =
tree of C / C++
and constructs a very parsable and queryable XML file with all related =
information.

This gem includes a binary build of GCC-XML for supported platforms,
to make it trivially easy to install. Platforms currently supported =
are:

* Linux 32 & 64 bit
* Mac OS X
* Windows via MinGW / MSYS


Rice

The Ruby Interface for C++ Extensions, it provides a C++ API for =
working with ruby. More information
available at its project page:

http://rice.rubyforge.org


Notes

Released under the MIT licence.

For those familiar with py++ / pygccxml, the similarities are in =
function only.
Rb++ / rbgccxml were written from scratch to take advantage of the =
Ruby language to it's fullest.

Bugs, patches, feature requests, et al should be posted to the =
corresponding project's Issues page on github.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,056
Messages
2,570,441
Members
47,119
Latest member
NoeliaIrby

Latest Threads

Top