- Timestamp:
- 08/05/08 21:14:18 (4 months ago)
- Location:
- src/perl6
- Files:
-
- 2 modified
-
LazyMap.pm (modified) (1 diff)
-
STD.pm (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/perl6/LazyMap.pm
r21405 r21792 47 47 48 48 sub iter { 49 no warnings 'recursion'; 49 50 my $self = shift; 50 51 my $lazies = $self->{L}; -
src/perl6/STD.pm
r21789 r21792 123 123 constant %item_assignment = (:prec<i=>, :assoc<right>); 124 124 constant %loose_unary = (:prec<h=>); 125 constant %comma = (:prec<g=>, :assoc<list>, :n ullok);125 constant %comma = (:prec<g=>, :assoc<list>, :nextterm<nulltermish>); 126 126 constant %list_infix = (:prec<f=>, :assoc<list>, :assign); 127 127 constant %list_assignment = (:prec<i=>, :sub<e=>, :assoc<right>); … … 737 737 } 738 738 739 token nulltermish { 740 [ 741 | <?stdstopper> 742 | <termish>? 743 ] 744 } 745 739 746 token termish { 740 747 [ … … 2932 2939 # XXX need to do something to turn subcall into method call here... 2933 2940 token infix:sym<.=> ( --> Item_assignment) 2934 { <sym> }2941 { <sym> <.ws> { $<O><nextterm> = 'dottyop' } } 2935 2942 2936 2943 token infix:sym« => » ( --> Item_assignment) … … 3159 3166 my @termstack; 3160 3167 my @opstack; 3161 my $ nullok = 0;3168 my $termish = 'termish'; 3162 3169 3163 3170 push @opstack, { 'O' => item %terminator, 'sym' => '' }; # (just a sentinel value) … … 3244 3251 self.deb("In loop, at ", $here.pos) if $*DEBUG +& DEBUG::EXPR; 3245 3252 my $oldpos = $here.pos; 3246 my @t = $here.termish(); # eats ws too 3247 3248 if not @t or not $here = @t[0] or $here.pos == $oldpos { 3249 last if $nullok; 3253 my @t = $here.$termish; # presumed to eat trailing ws too 3254 3255 if not @t or not $here = @t[0] or ($here.pos == $oldpos and $termish eq 'termish') { 3250 3256 return (); 3251 3257 # $here.panic("Failed to parse a required term"); 3252 3258 } 3259 $termish = 'termish'; 3253 3260 3254 3261 # interleave prefix and postfix, pretend they're infixish … … 3328 3335 } 3329 3336 } 3330 $ nullok = 1 if $inO<nullok>;3337 $termish = $inO<nextterm> if $inO<nextterm>; 3331 3338 push @opstack, $infix; 3332 3339 }
