[ANN] ruby2c 1.0.0.6 Released

ruby2c version 1.0.0.6 has been released!

* <http://rubyforge.org/projects/ruby2c/>
* <ryand-ruby@zenspider.com>
* <ruby2c@zenspider.com - 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.6 / 2009-06-23

1 major enhancement:

  * Switched from ParseTree to ruby_parser for 1.9 compatibility. woo.
    * All translate/process methods are gone since we can't reflect at runtime.

43 minor enhancements:

  * Added IterRewriter for finding free variables in iter nodes.
  * Added dxstr.
  * Added lots of new and missing tests
  * Added not, array, lit_long_negative, lit_range[23], lit_regexp{_n,_once}, lit_sym{,_splat}
  * Added pct_w tests
  * Added process_defx to ruby_to_ansi_c.rb
  * Added test data for array_pct_W, array_pct_W_dstr, attrasgn_index_equals, attrasgn_index_equals_space, and attrset.
  * Added tests for "and". PONG to eric
  * Added to_ary and masgn for TypeChecker.
  * Added xstr support.
  * Added yield(*ary)
  * Cleaned up rewriter.rb and made changes for pt_testcase.rb
  * Cleaned up some free_vars processing code.
  * Converted everything to new enhanced PTTC test scheme.
  * Enhanced with_scope to allow for static arrays.
  * Extended Environment to separately store both types and values.
  * Extern methods to support rb_iterate, including #each and #each_with_index.
  * Free var static declarations for C layers.
  * Merged IterRewriter into CRewriter and make typed.
  * Migrated as much out of rewriter as possible.
  * Modernized via hoe.
  * Moved to full PTTC + UnifiedRuby.
  * Pulled dstr up from ZenObfuscator.
  * Pulled up tests, process_args, with_scope, and process_scope from obfuscator
  * Pushed unique.rb up to PT
  * Removed Environment methods that pushed up to ruby_parser.
  * Removed Sexp#sexp_type
  * Removed accessor, accessor_equals since they don't exist in PTTC.
  * Removed bin/*
  * Removed dead test
  * Removed redundant defn_lvar_boundary, but added call to lvar_def_boundary.
  * Renamed blocks to extra_methods in ruby_to_ruby_c.
  * Renamed environment.rb to r2cenvironment.rb (incl tests)
  * Renamed iter_functions to extra_methods in crewriter.
  * Reordered so RubyToRubyC was always after RubyToAnsiC.
  * Some optimizations cleaning up Type#method_missing. Drops test time ~30%.
  * Split rewriter.rb to crewriter.rb (and renamed class to CRewriter).
  * Split up and deleted support.rb (and tests).
  * Switched from makefile to rakefile.
  * Switched to minitest
  * Test or node.
  * Track and trigger changes on pt_testcase.rb and r2ctestcase.rb
  * Used Hoe#add_include_dirs to clean up rakefile.

* 12 bug fixes:

  * Fix types in iter rewriting.
  * Fix yield([42, 24])
  * Fixed 1.9-isms.
  * Fixed all rubygems loaders.
  * Fixed dependencies on all tests.
  * Fixed for new (incompatible?) Environment supplied by SexpProcessor
  * Fixed incompatibility with new inline changes.
  * Fixed requires on ruby_parser
  * Fixed ruby2c to work with autotest.
  * Fixed tests in r2ctestcase for all layers except the C layers.
  * Fixed zentest dependency in rakefile
  * Fixes for RAD, mostly renaming environment.rb to r2cenvironment.rb at this stage.