R
Ryan Davis
We've released ruby2c 1.0.0 beta 2!
RubyToC has the following modules:
Rewriter - massages the sexp into a more consistent form.
TypeChecker - type inferencer for the above sexps.
RubyToC - converts a ruby (subset) sexp to C.
and the following tools:
translate.rb - Translates a given file to C.
Understand what we mean by beta. It means we need eyes on it, it means
it was ready enough to put out in the wild, but it also means that it
isn't ready for any real use.
What can it do?
Well, currently it can pass all of its unit tests (325 tests with 512
assertions) and it can translate nice simple static algorithmic code
into C without much problem. For example:
& cat x.rb
class Something
def blah; return 2+2; end
def main; return blah; end
end
& ./translate.rb x.rb > x.c
& gcc -I /usr/local/lib/ruby/1.8/powerpc-darwin x.c
x.c: In function `main':
x.c:17: warning: return type of `main' is not `int'
& ./a.out
& echo $?
4
What can it not do?
More than it can.
It can't (and won't) translate dynamic code. Period. That is simply
not the intent.
It probably can't translate a lot of static code that we simply
haven't come across or anticipated yet. Our tests cover a fair amount,
our validation runs cover a lot more than that, but it is still fairly
idiomatic ruby and that puts us at being better at certain styles of
coding and much worse at others.
It is also simply rough around the edges. We've rounded out the rdoc
but haven't done a thing for general documentation yet. These are on
our list, and rather high on our priority list, but we just haven't had
the time yet. For now, check out the rdoc and the PDF presentation that
we've had up for a while.
PLEASE: file bugs! We need feedback and we'd like to be able to track
it. The ruby2c project is on rubyforge and I'm getting the trackers set
up today as well.
CHANGES:
*** 1.0.0-beta2 / 2004-02-15
+ 1 minor enhancement
+ Added post-condition while/until support and tests.
+ 4 bug fixes
+ Fixed bug:1422: Escape newlines to prevent multi-line strings in C.
+ Fixed bug:1429: Arrays of strings are not being properly.
+ Fixed bug:1447/1448: Readme file's website and added ParseTree
dependency.
RubyToC has the following modules:
Rewriter - massages the sexp into a more consistent form.
TypeChecker - type inferencer for the above sexps.
RubyToC - converts a ruby (subset) sexp to C.
and the following tools:
translate.rb - Translates a given file to C.
Understand what we mean by beta. It means we need eyes on it, it means
it was ready enough to put out in the wild, but it also means that it
isn't ready for any real use.
What can it do?
Well, currently it can pass all of its unit tests (325 tests with 512
assertions) and it can translate nice simple static algorithmic code
into C without much problem. For example:
& cat x.rb
class Something
def blah; return 2+2; end
def main; return blah; end
end
& ./translate.rb x.rb > x.c
& gcc -I /usr/local/lib/ruby/1.8/powerpc-darwin x.c
x.c: In function `main':
x.c:17: warning: return type of `main' is not `int'
& ./a.out
& echo $?
4
What can it not do?
More than it can.
It can't (and won't) translate dynamic code. Period. That is simply
not the intent.
It probably can't translate a lot of static code that we simply
haven't come across or anticipated yet. Our tests cover a fair amount,
our validation runs cover a lot more than that, but it is still fairly
idiomatic ruby and that puts us at being better at certain styles of
coding and much worse at others.
It is also simply rough around the edges. We've rounded out the rdoc
but haven't done a thing for general documentation yet. These are on
our list, and rather high on our priority list, but we just haven't had
the time yet. For now, check out the rdoc and the PDF presentation that
we've had up for a while.
PLEASE: file bugs! We need feedback and we'd like to be able to track
it. The ruby2c project is on rubyforge and I'm getting the trackers set
up today as well.
CHANGES:
*** 1.0.0-beta2 / 2004-02-15
+ 1 minor enhancement
+ Added post-condition while/until support and tests.
+ 4 bug fixes
+ Fixed bug:1422: Escape newlines to prevent multi-line strings in C.
+ Fixed bug:1429: Arrays of strings are not being properly.
+ Fixed bug:1447/1448: Readme file's website and added ParseTree
dependency.