- Timestamp:
- 09/01/08 09:48:28 (3 months ago)
- Location:
- src/perl6
- Files:
-
- 2 modified
-
Cursor.pmc (modified) (4 diffs)
-
STD.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/perl6/Cursor.pmc
r22014 r22080 428 428 $self->_AUTOLEXpeek($key,$retree); 429 429 }; 430 $self->highwater($lexer->{NAME}) ;430 $self->highwater($lexer->{NAME}) if $self->{_pos} >= $::HIGHWATER; 431 431 my $buf = $self->{_orig}; 432 432 my $P = $self->{_pos}; … … 434 434 return sub { return }; 435 435 } 436 my $ch2 = substr($$buf,$P,5); 437 # wish I could persuade p5 to parse this directly out of $$buf... 438 $ch2 =~ s/^(\[[\\<>«»]*..|[<>][<>]..|[ -~].|.).*$/$1/s; 439 436 pos($$buf) = $P; 437 $$buf =~ m/\G(\[[\\<>«»]*..|[<>][<>]..|[ -~].|.)/smgc; 438 my $ch2 = $1; 440 439 441 440 $lexer->{$ch2} //= do { … … 462 461 # print join "\n", @pats, ''; 463 462 # } 463 # XXX this could be greatly compactified by just storing offsets into @pats 464 # and just appending a single line to a single digraph cache file. 464 465 if (open PATS, '>', $file) { 465 466 binmode(PATS, ":utf8"); … … 672 673 sub highwater { 673 674 my $self = shift; 674 if ($self->{_pos} >= $::HIGHWATER) { 675 if ($self->{_pos} > $::HIGHWATER) { 676 %$::HIGHEXPECT = (); 677 $::HIGHMESS = ''; 678 } 679 for (@_) { 680 my $name = $_; 681 $name =~ s/_0[01]$//; 682 $name =~ s/_(\d\d)$/ (alt $1)/; 683 $name =~ s/:\*$//; 684 $::HIGHEXPECT->{$name}++; 685 } 686 $::HIGHWATER = $self->{_pos}; 687 } 675 if ($self->{_pos} > $::HIGHWATER) { 676 %$::HIGHEXPECT = (); 677 $::HIGHMESS = ''; 678 } 679 for (@_) { 680 my $name = $_; 681 $name =~ s/_0[01]$//; 682 $name =~ s/_(\d\d)$/ (alt $1)/; 683 $name =~ s/:\*$//; 684 $::HIGHEXPECT->{$name}++; 685 } 686 $::HIGHWATER = $self->{_pos}; 688 687 } 689 688 -
src/perl6/STD.pm
r22063 r22080 2572 2572 :my $l; 2573 2573 <sym> <.ws> 2574 [ $l = <longname> { $¢.add_type($l); } <.ws> ]?2574 [ $l = <longname> :: { $¢.add_type($l); } <.ws> ]? 2575 2575 <EXPR> <.ws> 2576 2576 }
