Author: pmichaud
Date: Thu Jan 25 19:06:36 2007
New Revision: 16801
Modified:
trunk/languages/perl6/src/classes/List.pir
trunk/languages/perl6/src/parser/grammar_optok.pg
Log:
[perl6]:
* Changes to support the := binding operator
* t/01-sanity/07-binding.t now passes (yay!)
Modified: trunk/languages/perl6/src/classes/List.pir
==============================================================================
--- trunk/languages/perl6/src/classes/List.pir (original)
+++ trunk/languages/perl6/src/classes/List.pir Thu Jan 25 19:06:36 2007
@@ -39,6 +39,20 @@
.end
+.sub '__set_pmc' :method
+ .param pmc value
+ self = 0
+ $P0 = new .Iterator, value
+ iter_loop:
+ unless $P0 goto iter_end
+ $P1 = shift $P0
+ push self, $P1
+ goto iter_loop
+ iter_end:
+ .return ()
+.end
+
+
.sub '__get_string' :method
$S0 = ''
$I1 = elements self
Modified: trunk/languages/perl6/src/parser/grammar_optok.pg
==============================================================================
--- trunk/languages/perl6/src/parser/grammar_optok.pg (original)
+++ trunk/languages/perl6/src/parser/grammar_optok.pg Thu Jan 25 19:06:36 2007
@@ -283,7 +283,7 @@
is lvalue(1)
{ ... }
-proto 'infix::=' is equiv('infix:=') { ... }
+proto 'infix::=' is equiv('infix:=') is past('bind') { ... }
proto 'infix:::=' is equiv('infix:=') { ... }
proto 'infix:.=' is equiv('infix:=') { ... }
proto 'infix:~=' is equiv('infix:=') { ... }