Permalink
Browse files

Ruby backend - update docs

  • Loading branch information...
1 parent 1482d2e commit 7ec88e63752ac4cb835609050da66f128064b2ff @fglock committed Jul 27, 2010
Showing with 63 additions and 53 deletions.
  1. +4 −0 ChangeLog
  2. +1 −1 README
  3. +12 −8 TODO
  4. +1 −1 lib5/MiniPerl6/Clojure/Emitter.pm
  5. +1 −1 lib5/MiniPerl6/Emitter/Token.pm
  6. +1 −1 lib5/MiniPerl6/Eval.pm
  7. +1 −1 lib5/MiniPerl6/Go/Emitter.pm
  8. +1 −1 lib5/MiniPerl6/Go/Prelude.pm
  9. +1 −1 lib5/MiniPerl6/Grammar.pm
  10. +1 −1 lib5/MiniPerl6/Grammar/Control.pm
  11. +1 −1 lib5/MiniPerl6/Grammar/Mapping.pm
  12. +1 −1 lib5/MiniPerl6/Grammar/Regex.pm
  13. +1 −1 lib5/MiniPerl6/Javascript/Emitter.pm
  14. +1 −1 lib5/MiniPerl6/Javascript/Prelude.pm
  15. +1 −1 lib5/MiniPerl6/Javascript/Runtime.js
  16. +1 −1 lib5/MiniPerl6/Lisp/Emitter.pm
  17. +1 −1 lib5/MiniPerl6/Lisp/Prelude.pm
  18. +1 −1 lib5/MiniPerl6/Parrot/Emitter.pm
  19. +1 −1 lib5/MiniPerl6/Parrot/Match.pm
  20. +1 −1 lib5/MiniPerl6/Perl5/Emitter.pm
  21. +1 −1 lib5/MiniPerl6/Perl5/Prelude.pm
  22. +1 −1 lib5/MiniPerl6/Python/Emitter.pm
  23. +1 −1 lib5/MiniPerl6/Rakudo/Emitter.pm
  24. +1 −1 lib5/MiniPerl6/Ruby/Emitter.pm
  25. +1 −1 lib5/Test.pm
  26. +1 −1 libjs/MiniPerl6/Emitter/Token.js
  27. +1 −1 libjs/MiniPerl6/Eval.js
  28. +1 −1 libjs/MiniPerl6/Grammar.js
  29. +1 −1 libjs/MiniPerl6/Grammar/Control.js
  30. +1 −1 libjs/MiniPerl6/Grammar/Mapping.js
  31. +1 −1 libjs/MiniPerl6/Grammar/Regex.js
  32. +1 −1 libjs/MiniPerl6/Javascript/Emitter.js
  33. +1 −1 libjs/MiniPerl6/Javascript/Prelude.js
  34. +1 −1 libjs/MiniPerl6/Javascript/Runtime.js
  35. +1 −1 libjs/MiniPerl6/Perl5/Emitter.js
  36. +1 −1 libjs/Test.js
  37. +1 −1 mp6.pl
  38. +8 −8 perlito.js
  39. +1 −0 util-perl5/build-all.sh
  40. +1 −1 util-perl5/make.pl
  41. +1 −0 util-python/build-python.sh
  42. +1 −1 util/mp6.pl
View
4 ChangeLog
@@ -1,3 +1,7 @@
+6.0 2010-07-27
+- Ruby backend bootstrap.
+- more tests
+
5.0 2010-07-19
- Python backend bootstrap.
- use variable assignment instead of binding - that is, use '=' instead of ':='
View
2 README
@@ -7,7 +7,7 @@ Backends
Perlito can compile Perl 6 programs into one of the 'backend'
languages:
- Go, Lisp, Perl 5, Javascript, and Python 2.
+ Go, Common Lisp, Perl 5, Javascript, Python 2, and Ruby 1.9
Web
View
20 TODO
@@ -48,13 +48,17 @@ MiniPerl6 in Python
- module loading uses mangled filenames (with underlines); it should use dot-separated names instead.
+MiniPerl6 in Ruby
+
+- module loading uses mangled filenames (with underlines); it should use dot-separated names instead.
+
Missing Backends
- Haskell
- MO in MP6
-- Python
+- Python - FIXED
- Clojure
@@ -67,7 +71,7 @@ Missing Features
- type annotations - FIXED
- 'use v5' is not supported
- (maybe not needed for MP6)
+ (maybe not needed for Perlito)
- no 'state', 'constant'
@@ -85,7 +89,7 @@ Nice to Have
- run some tests from the standard test suite
-- use Test.pm
+- use Test.pm - FIXED
Grammar
@@ -104,12 +108,12 @@ Grammar
Semantics
-- @a.values and %a.keys return Array (not List)
- this is internally consistent with MiniPerl6, but it doesn't match the Perl 6 spec
+- @a.values and %a.keys return Array
+ These should return a List
- In Perlito, @a = [] initializes @a to empty Array.
- In rakudo, this creates an array with an array inside.
- I don't know if this is a Perlito or a Rakudo bug.
+ This should create an array with an array inside.
-- 'True' instead of 'true'
+- Perlito implemented 'true' and 'false'
+ This should be 'True' and 'False'
View
2 lib5/MiniPerl6/Clojure/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Emitter/Token.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Eval.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Go/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Go/Prelude.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Grammar.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Grammar/Control.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Grammar/Mapping.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Grammar/Regex.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Javascript/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Javascript/Prelude.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Javascript/Runtime.js
@@ -14,7 +14,7 @@
//
// COPYRIGHT
//
-// Copyright 2009 by Flavio Soibelmann Glock and others.
+// Copyright 2009, 2010 by Flavio Soibelmann Glock and others.
//
// This program is free software; you can redistribute it and/or modify it
// under the same terms as Perl itself.
View
2 lib5/MiniPerl6/Lisp/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Lisp/Prelude.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Parrot/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Parrot/Match.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Perl5/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Perl5/Prelude.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Python/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Rakudo/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/MiniPerl6/Ruby/Emitter.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 lib5/Test.pm
@@ -1,4 +1,4 @@
-# Do not edit this file - Generated by MiniPerl6 5.0
+# Do not edit this file - Generated by MiniPerl6 6.0
use v5;
use strict;
use MiniPerl6::Perl5::Runtime;
View
2 libjs/MiniPerl6/Emitter/Token.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class Rul
if (typeof Rul != 'object') {
Rul = function() {};
View
2 libjs/MiniPerl6/Eval.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class CompUnit
if (typeof CompUnit != 'object') {
CompUnit = function() {};
View
2 libjs/MiniPerl6/Grammar.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
View
2 libjs/MiniPerl6/Grammar/Control.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
View
2 libjs/MiniPerl6/Grammar/Mapping.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
View
2 libjs/MiniPerl6/Grammar/Regex.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar::Regex
if (typeof MiniPerl6$Grammar$Regex != 'object') {
MiniPerl6$Grammar$Regex = function() {};
View
2 libjs/MiniPerl6/Javascript/Emitter.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Javascript::LexicalBlock
if (typeof MiniPerl6$Javascript$LexicalBlock != 'object') {
MiniPerl6$Javascript$LexicalBlock = function() {};
View
2 libjs/MiniPerl6/Javascript/Prelude.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Match
if (typeof MiniPerl6$Match != 'object') {
MiniPerl6$Match = function() {};
View
2 libjs/MiniPerl6/Javascript/Runtime.js
@@ -14,7 +14,7 @@
//
// COPYRIGHT
//
-// Copyright 2009 by Flavio Soibelmann Glock and others.
+// Copyright 2009, 2010 by Flavio Soibelmann Glock and others.
//
// This program is free software; you can redistribute it and/or modify it
// under the same terms as Perl itself.
View
2 libjs/MiniPerl6/Perl5/Emitter.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class Perl5
if (typeof Perl5 != 'object') {
Perl5 = function() {};
View
2 libjs/Test.js
@@ -1,4 +1,4 @@
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class Test
if (typeof Test != 'object') {
Test = function() {};
View
2 mp6.pl
@@ -6,7 +6,7 @@ package main;
BEGIN {
$::_V6_COMPILER_NAME = 'MiniPerl6';
- $::_V6_COMPILER_VERSION = '5.0';
+ $::_V6_COMPILER_VERSION = '6.0';
}
use MiniPerl6::Perl5::Runtime;
View
16 perlito.js
@@ -14,7 +14,7 @@
//
// COPYRIGHT
//
-// Copyright 2009 by Flavio Soibelmann Glock and others.
+// Copyright 2009, 2010 by Flavio Soibelmann Glock and others.
//
// This program is free software; you can redistribute it and/or modify it
// under the same terms as Perl itself.
@@ -323,7 +323,7 @@ MiniPerl6$Grammar.f_not_newline = function (v_str, v_pos) {
return tmp;
}
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Match
if (typeof MiniPerl6$Match != 'object') {
MiniPerl6$Match = function() {};
@@ -404,7 +404,7 @@ if (typeof Main != 'object') {
}
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Javascript::LexicalBlock
if (typeof MiniPerl6$Javascript$LexicalBlock != 'object') {
MiniPerl6$Javascript$LexicalBlock = function() {};
@@ -1087,7 +1087,7 @@ if (typeof Use != 'object') {
Use.f_emit_javascript; // v8 bug workaround
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
@@ -1533,7 +1533,7 @@ if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar.f_token; // v8 bug workaround
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
@@ -1601,7 +1601,7 @@ if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar.f_ctrl_return; // v8 bug workaround
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar
if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar = function() {};
@@ -1634,7 +1634,7 @@ if (typeof MiniPerl6$Grammar != 'object') {
MiniPerl6$Grammar.f_exp_mapping; // v8 bug workaround
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class MiniPerl6::Grammar::Regex
if (typeof MiniPerl6$Grammar$Regex != 'object') {
MiniPerl6$Grammar$Regex = function() {};
@@ -1787,7 +1787,7 @@ var Hash_rule_terms = {};
MiniPerl6$Grammar$Regex.f_rule; // v8 bug workaround
})();
-// Do not edit this file - Generated by MiniPerl6 5.0
+// Do not edit this file - Generated by MiniPerl6 6.0
// class Rul
if (typeof Rul != 'object') {
Rul = function() {};
View
1 util-perl5/build-all.sh
@@ -5,4 +5,5 @@ perl util-perl5/make.pl -Cjs && rm -rf libjs && mv libjs-new libjs
perl mp6.pl -Clisp-bin util/mp6.pl && mv tmp.out mp6-lisp
. util-js/make-perlito-js.sh
. util-python/build-python.sh
+. util-ruby/build-ruby.sh
View
2 util-perl5/make.pl
@@ -64,7 +64,7 @@
sub test {
warn "\n";
warn "automatic testing is not implemented yet. Please use one of:\n";
- for ( qw( perl5 lisp js go python ) ) {
+ for ( qw( perl5 lisp js go python ruby1.9 ) ) {
warn " prove -e \"perl mp6.pl -B$_\"\n"
}
return 0;
View
1 util-python/build-python.sh
@@ -27,6 +27,7 @@ perl mp6.pl -Cpython lib/MiniPerl6/Perl5/Emitter.pm > libpy/MiniPerl6__Perl5__Em
perl mp6.pl -Cpython lib/MiniPerl6/Go/Emitter.pm > libpy/MiniPerl6__Go__Emitter.py
perl mp6.pl -Cpython lib/MiniPerl6/Parrot/Emitter.pm > libpy/MiniPerl6__Parrot__Emitter.py
perl mp6.pl -Cpython lib/MiniPerl6/Python/Emitter.pm > libpy/MiniPerl6__Python__Emitter.py
+perl mp6.pl -Cpython lib/MiniPerl6/Ruby/Emitter.pm > libpy/MiniPerl6__Ruby__Emitter.py
perl mp6.pl -Cpython util/mp6.pl > ./mp6.py
View
2 util/mp6.pl
@@ -13,7 +13,7 @@
use MiniPerl6::Emitter::Token;
my $_V6_COMPILER_NAME = 'MiniPerl6';
- my $_V6_COMPILER_VERSION = '5.0';
+ my $_V6_COMPILER_VERSION = '6.0';
my $source = '';
my $backend = '';
my $execute = 0;

0 comments on commit 7ec88e6

Please sign in to comment.