1 bug fix:
I’m an idiot. Fixed the dependencies to use RP 3.x and SP 4.x
5 minor enhancements:
Added TypeChecker methods: rewrite_attrasgn, rewrite_call, rewrite_defn to reverse structural changes in ruby_parser 3.x.
Added new 1.9 tests from PTTC to skip list
Added new test case data for new 1.8 based tests
Added process_arglist_plain and hooked it up with process_iter to deal with new block sexps.
Renames for ruby_parser namespace changes
4 bug fixes:
Environment moved in ruby_parser. Got tests running again.
Fixed all tests broken by 1.8/1.9 split in pt_testcase.rb.
Removed unused variables listed in 1.9 warnings
Spastic monkey is spastic
1 bug fix:
Removed unnecessary require on unified_ruby
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.
6 minor enhancements:
* Split RubyToC to RubyToRubyC and RubyToAnsiC. * Extended Environment to be more flexible for various situations. * Removed propaganda (bloat) from release. * Gemified and reorganized things. Support still needs splitting up. * Flipped a lot of internal naming to use Unique. * Added ruby_to_c_show (like parse_tree_show).
4(ish) bug fixes:
* Use ivars instead of cvars so inheritance won't bugger the translator. * Corrected unsupported node lists in pipeline. * Fixed bugs for splat args, iters, optional args, method name map. * Fixed many other bugs.
1 minor enhancements:
* Added gemspec (hastily).
2 bug fixes:
* Translates bool type to VALUE since we were using Qtrue/Qfalse. * Fixed rubygems for non-gem systems.
16 minor enhancements:
* Added ivar and iasgn support. Needs more work. * Added limited support for self. * Added pipeline tests for bools, call_arglist, call_attrasgn, fbody. * Added process_not to RubyToC. * Added support for float and symbol literals. * Added support for gasgn, cvasgn, const (class consts, not classes). * Improved error handling/reporting, esp in RubyToC. * In TypeChecker.boostrap, pre-registered all base classes. * Modified process_class test to include a class const. * Processing :class now adds class constants to the local var scope. * Processing :const checks both genv and env now. * Rearchitected all tests into a pipeline test class. * Rewrite attrasgn into regular calls. * Rewrite fbody into a regular defn. * Rewrote :array inside call to :arglist. * Rewrote :or nodes in process_case to correctly be binary.
1 bug fix:
* Fixed a bug where single line while bodies were missing a semicolon.
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.
1 major enhancements:
* Hit 80% non-error conversion threshold for public beta release.
3 minor enhancements:
* (Mostly) Filled out functionality in Rewriter and TypeChecker. * Flushed out what we don't do in RubyToC. * Wrote a ton of rdoc
7 major enhancements:
* Alpha 2 released to private group for critique. * Refactored and split out ParseTree package. * Gemified dependency on ParseTree. * Added iter rewriting * Added post type inference rewriting specific to C library. * Massive increase to the base we can translate. * We have stabilized the architecture but still have a ways to go.
2 minor enhancements:
* Added propaganda (presentations). * Much better test coverage, now with ZenTest compliant naming.
2 bug fixes:
* Gem-proofed makefile. * Tons of little fixes we didn't bother to track.
1 major enhancement:
* Birthday! Alpha 1 released to private group for critique.