# Ruby2c 1.0.0.7 Released

**URL:** <https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005>\
**Category:** Ruby\
**Created:** [August 19, 2009, 8:54am UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005 "2009-08-19T08:54:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 8:54am UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/1 "2009-08-19T08:54:30Z")

</div>

ruby2c version 1.0.0.7 has been released!

- [http://rubyforge.org/projects/ruby2c/](http://rubyforge.org/projects/ruby2c/)
- [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
- \<removed\_email\_address@domain.invalid - mailing list\>

ruby\_to\_c translates a static ruby subset to C. Hopefully it works.

NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE

```
                 THIS IS BETA SOFTWARE!

```

NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE ! NOTE

RubyToC has the following modules:

- Rewriter - massages the sexp into a more consistent form.
- TypeChecker - type inferencer for the above sexps.
- RubyToRubyC - converts a ruby (subset) sexp to ruby interals C.
- RubyToAnsiC - converts a ruby (subset) sexp to ANSI C.

and the following tools:

- translate.rb - Translates a given file to C.

Changes:

### 1.0.0.7 / 2009-08-18

- 1 bug fix:

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 5:56pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/2 "2009-08-19T17:56:00Z")

</div>

> - translate.rb - Translates a given file to C.

Unable to find file.

If anyone’s looking for an example of how to use it, here’s one.  
[http://betterlogic.com/roger/?p=1849](http://betterlogic.com/roger/?p=1849)

Cheers.  
-r

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 6:42pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/3 "2009-08-19T18:42:50Z")

</div>

Roger P. wrote:

> > - translate.rb - Translates a given file to C.
> 
> Unable to find file.
> 
> If anyone’s looking for an example of how to use it, here’s one.  
> [http://betterlogic.com/roger/?p=1849](http://betterlogic.com/roger/?p=1849)
> 
> Cheers.  
> -r

$ irb  
irb(main):001:0\> require ‘ruby\_parser’  
=\> true  
irb(main):002:0\> require ‘ruby\_to\_ruby\_c’  
=\> true  
irb(main):003:0\> all = RubyParser.new.parse(File.read ‘hello.rb’)  
NoMethodError: undefined method `clear' for nil:NilClass from /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.0.4/lib/ruby_parser_extras.rb:938:in `reset’  
from  
/usr/lib/ruby/gems/1.8/gems/ruby\_parser-2.0.4/lib/ruby\_parser\_extras.rb:766:in  
`reset' from /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.0.4/lib/ruby_parser_extras.rb:345:in `initialize’  
from (irb):3:in `new’  
from (irb):3  
irb(main):004:0\>

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 7:32pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/4 "2009-08-19T19:32:01Z")

</div>

On Aug 19, 2009, at 09:42 , Reid T. wrote:

> irb(main):002:0\> require ‘ruby\_to\_ruby\_c’  
> from (irb):3  
> irb(main):004:0\>

Don’t bring it up here. File a bug.

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 7:42pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/5 "2009-08-19T19:42:33Z")

</div>

On Aug 19, 2009, at 10:31 , Ryan D. wrote:

> > $ irb  
> > from /usr/lib/ruby/gems/1.8/gems/ruby\_parser-2.0.4/lib/  
> > ruby\_parser\_extras.rb:345:in `initialize' from (irb):3:in`new’  
> > from (irb):3  
> > irb(main):004:0\>
> 
> Don’t bring it up here. File a bug.

But you’ll have to provide better information. This works fine for me:

% ruby -v -I…/lib -rubygems -e ‘require “ruby\_parser”; require  
“ruby\_to\_ruby\_c”; p RubyParser.new.parse(File.read(“hello.rb”))’  
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]  
s(:class, :Hello, nil, s(:scope, s(:block, s(:defn, :hello, s(:args),  
s(:scope, s(:block, s(:call, nil, :puts, s(:arglist, s(:str, “hello  
world”)))))), s(:defn, :main, s(:args), s(:scope, s(:block, s(:call,  
nil, :hello, s(:arglist)), s(:return, s(:lit, 0))))))))

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 9:22pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/6 "2009-08-19T21:22:40Z")

</div>

Ryan D. wrote:

> world")))))), s(:defn, :main, s(:args), s(:scope, s(:block, s(:call,  
> nil, :hello, s(:arglist)), s(:return, s(:lit, 0))))))))

hmm – looks like it’s only an issue in irb…

rthompso@raker\>/usr/lib/ruby/gems/1.8/gems/ruby2c-1.0.0.7/demo  
$ ruby -v -I…/lib -rubygems -e ‘require “ruby\_parser”; require  
“ruby\_to\_ruby\_c”; p RubyParser.new.parse(File.read(“hello.rb”))’  
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]  
s(:class, :Hello, nil, s(:scope, s(:block, s(:defn, :hello, s(:args),  
s(:scope,  
s(:block, s(:call, nil, :puts, s(:arglist, s(:str, “hello world”)))))),  
s(:defn,  
:main, s(:args), s(:scope, s(:block, s(:call, nil, :hello, s(:arglist)),  
s(:return, s(:lit, 0))))))))  
rthompso@raker\>/usr/lib/ruby/gems/1.8/gems/ruby2c-1.0.0.7/demo

$ irb  
irb(main):001:0\> require “ruby\_parser”  
=\> true  
irb(main):002:0\> require “ruby\_to\_ruby\_c”  
=\> true  
irb(main):003:0\> p RubyParser.new.parse(File.read(“hello.rb”))  
NoMethodError: undefined method `clear' for nil:NilClass from /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.0.4/lib/ruby_parser_extras.rb:938:in`reset’  
from  
/usr/lib/ruby/gems/1.8/gems/ruby\_parser-2.0.4/lib/ruby\_parser\_extras.rb:766:in  
`reset' from /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.0.4/lib/ruby_parser_extras.rb:345:in`initialize’  
from (irb):3:in `new’  
from (irb):3

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [August 19, 2009, 10:34pm UTC](https://www.ruby-forum.com/t/ruby2c-1-0-0-7-released/174005/7 "2009-08-19T22:34:05Z")

</div>

On Aug 19, 2009, at 12:22 , Reid T. wrote:

> > s(:block, s(:call, nil, :hello, s(:arglist)), s(:return, s(:lit,  
> > 0))))))))
> 
> hmm – looks like it’s only an issue in irb…

cool. that’s enough info. please file a bug.
