Benchmark-Perl-Formance-Cargo
view release on metacpan or search on metacpan
share/P6STD/boot/STD.pmc view on Meta::CPAN
use 5.010;
use utf8;
{ package STD;
use Moose ':all' => { -prefix => "moose_" };
use Encode;
moose_extends('Cursor');
our $ALLROLES = { 'STD', 1 };
our $REGEXES = {
ALL => [ qw/alnumint apostrophe babble backslash begid binint binints category charname charnames charspec circumfix comment dec_number decint decints dotty embeddedblock endid escale escape hexint hexints ident identifier infix infix_circumfix_meta_...
category => [ qw/category__S_000category__PEEK category__S_001sigil__PEEK category__S_002twigil__PEEK category__S_003special_variable__PEEK category__S_004comment__PEEK category__S_005version__PEEK category__S_006module_name__PEEK category__S_007valu...
circumfix => [ qw/circumfix__S_052Fre_Nch__PEEK circumfix__S_053LtLt_GtGt__PEEK circumfix__S_054Lt_Gt__PEEK/ ],
comment => [ qw/comment__S_055SharpGraveParenDotDotDotThesis__PEEK comment__S_056SharpParenDotDotDotThesis__PEEK comment__S_057SharpEqualParenDotDotDotThesis__PEEK comment__S_058SharpEqual__PEEK comment__S_059Sharp__PEEK/ ],
escape => [ qw/escape__S_049none__PEEK/ ],
quote => [ qw/quote__S_050Single_Single__PEEK quote__S_051Double_Double__PEEK/ ],
sigil => [ qw/sigil__S_037Dollar__PEEK sigil__S_038At__PEEK sigil__S_039Percent__PEEK sigil__S_040Amp__PEEK/ ],
term => [ qw/term__S_063miscbad__PEEK/ ],
terminator => [ qw/terminator__S_060Thesis__PEEK terminator__S_061Ket__PEEK terminator__S_062Ly__PEEK/ ],
twigil => [ qw/twigil__S_041Dot__PEEK twigil__S_042Bang__PEEK twigil__S_043Caret__PEEK twigil__S_044Colon__PEEK twigil__S_045Star__PEEK twigil__S_046Question__PEEK twigil__S_047Equal__PEEK twigil__S_048Tilde__PEEK/ ],
};
no warnings 'qw', 'recursion';
my $retree;
$DB::deep = $DB::deep = 1000; # suppress used-once warning
use YAML::XS;
$SIG{__WARN__} = sub { die @_," statement started at line ", 'Cursor'->lineof($::LASTSTATE), "
" } if $::DEBUG;
$retree = YAML::XS::Load(Encode::encode_utf8(<<'RETREE_END'));
---
alnumint: !!perl/hash:RE_ast
dba: alnumint
dic: STD
re: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[ 0..9 a..z A..Z ]'
quant:
- +
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_string
i: 0
text: _
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[ 0..9 a..z A..Z ]'
quant:
- +
quant:
- '*'
apostrophe: !!perl/hash:RE_ast
dba: apostrophe
dic: STD
re: !!perl/hash:RE_cclass
i: 0
text: '[ '' \- ]'
babble: !!perl/hash:RE_ast
dba: babble
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
name: ws
rest: ''
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
name: quotepair
rest: ''
- !!perl/hash:RE_method
name: ws
rest: ''
- !!perl/hash:RE_block {}
quant:
- '*'
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_block {}
backslash:*:
dic: STD
begid: !!perl/hash:RE_ast
dba: begid
dic: STD
re: !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: !!perl/hash:RE_meta
min: 1
text: \w
binint: !!perl/hash:RE_ast
dba: binint
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[ 0..1 ]'
quant:
- +
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_string
i: 0
text: _
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[ 0..1 ]'
quant:
- +
quant:
- '*'
binints: !!perl/hash:RE_ast
dba: binints
dic: STD
re: !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
name: ws
rest: ''
- !!perl/hash:RE_method
name: binint
rest: ''
- !!perl/hash:RE_method
name: ws
rest: ''
quant:
- +
category:*:
dic: STD
category__S_000category: !!perl/hash:RE_ast
dba: category
dic: STD
re: !!perl/hash:RE_method
i: 0
share/P6STD/boot/STD.pmc view on Meta::CPAN
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_block {}
- !!perl/hash:RE_assertion
assert: '!'
re: !!perl/hash:RE_block
nobind: 1
- !!perl/hash:RE_block {}
- !!perl/hash:RE_assertion
assert: '!'
re: !!perl/hash:RE_noop
nobind: 1
terminator:*:
dic: STD
terminator__S_060Thesis: !!perl/hash:RE_ast
dba: terminator
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
i: 0
name: sym
rest: ''
sym: )
- !!perl/hash:RE_method
name: O
rest: 1
terminator__S_061Ket: !!perl/hash:RE_ast
dba: terminator
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_string
i: 0
text: ']'
- !!perl/hash:RE_method
name: O
rest: 1
terminator__S_062Ly: !!perl/hash:RE_ast
dba: terminator
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_string
i: 0
text: '}'
- !!perl/hash:RE_method
name: O
rest: 1
trait_mod:*:
dic: STD
twigil:*:
dic: STD
twigil__S_041Dot: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: .
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_042Bang: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: '!'
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_043Caret: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: ^
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_044Colon: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: ':'
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_045Star: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: '*'
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_046Question: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: '?'
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_047Equal: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: =
- !!perl/hash:RE_method
name: begid
rest: ''
twigil__S_048Tilde: !!perl/hash:RE_ast
dba: twigil
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
endsym: begid
i: 0
name: sym
rest: ''
sym: '~'
- !!perl/hash:RE_method
name: begid
rest: ''
type_declarator:*:
dic: STD
unitstopper: !!perl/hash:RE_ast
dba: unitstopper
dic: STD
re: !!perl/hash:RE_meta
text: $
unsp: !!perl/hash:RE_ast
dba: unspace
dic: STD
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_meta
min: 1
text: \\
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: !!perl/hash:RE_bracket
re: &19 !!perl/hash:RE_any
altname: unsp_0
dba: unsp
dic: STD
zyg:
- !!perl/hash:RE_meta
alt: unsp_0 0
min: 1
text: \s
- !!perl/hash:RE_string
alt: unsp_0 1
i: 0
text: '#'
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: &20 !!perl/hash:RE_any
altname: unsp_1
dba: unspace
dic: STD
zyg:
- !!perl/hash:RE_method
alt: unsp_1 0
name: vws
rest: ''
- !!perl/hash:RE_method
alt: unsp_1 1
name: unv
rest: ''
- !!perl/hash:RE_sequence
alt: unsp_1 2
zyg:
- !!perl/hash:RE_meta
text: $
- !!perl/hash:RE_block {}
quant:
- '*'
unsp_0: *19
unsp_1: *20
share/P6STD/boot/STD.pmc view on Meta::CPAN
my @result = do {
my ($tag, $try);
my @try;
my $relex;
my $x;
if (my $fate = $C->{'_fate'}) {
if ($fate->[1] eq 'sigil') {
$C->deb("Fate passed to sigil: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT sigil';
}
else {
$x = 'ALTLTM sigil';
}
}
else {
$x = 'ALTLTM sigil';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'sigil:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("sigil trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2]; # committed?
}
$self->_MATCHIFYr($S, "sigil", @gather);
};
@result;
}
;
## token category:twigil { <sym> }
sub category__S_002twigil__PEEK { $_[0]->_AUTOLEXpeek('category__S_002twigil', $retree) }
sub category__S_002twigil {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE category__S_002twigil");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "twigil";
$self->_MATCHIFYr($S, "category__S_002twigil", $C->_EXACT("twigil"));
}
;
## token twigil is endsym<begid> {*}
sub twigil__PEEK { $_[0]->_AUTOLEXpeek('twigil:*',$retree); }
sub twigil {
my $self = shift;
my $subs;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact('RULE twigil');
my $S = $C->{'_pos'};
my @result = do {
my ($tag, $try);
my @try;
my $relex;
my $x;
if (my $fate = $C->{'_fate'}) {
if ($fate->[1] eq 'twigil') {
$C->deb("Fate passed to twigil: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT twigil';
}
else {
$x = 'ALTLTM twigil';
}
}
else {
$x = 'ALTLTM twigil';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'twigil:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("twigil trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2]; # committed?
}
$self->_MATCHIFYr($S, "twigil", @gather);
};
@result;
}
;
## token category:special_variable { <sym> }
sub category__S_003special_variable__PEEK { $_[0]->_AUTOLEXpeek('category__S_003special_variable', $retree) }
sub category__S_003special_variable {
no warnings 'recursion';
my $self = shift;
share/P6STD/boot/STD.pmc view on Meta::CPAN
my @try;
my $relex;
my $x;
if (my $fate = $C->{'_fate'}) {
if ($fate->[1] eq 'terminator') {
$C->deb("Fate passed to terminator: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT terminator';
}
else {
$x = 'ALTLTM terminator';
}
}
else {
$x = 'ALTLTM terminator';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'terminator:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("terminator trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2]; # committed?
}
$self->_MATCHIFYr($S, "terminator", @gather);
};
@result;
}
;
## token unspacey { <.unsp>? }
sub unspacey__PEEK { $_[0]->_AUTOLEXpeek('unspacey', $retree) }
sub unspacey {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE unspacey");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "unspacey", $C->_OPTr(sub {
my $C=shift;
if (my ($C) = ($C->unsp)) { ($C) } else { () }
}));
}
;
## token begid { <?before \w> }
sub begid__PEEK { $_[0]->_AUTOLEXpeek('begid', $retree) }
sub begid {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE begid");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "begid", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G\w/)
}))) { ($C) } else { () }
}));
}
;
## token endid { <?before <-[ \- \' \w ]> > }
sub endid__PEEK { $_[0]->_AUTOLEXpeek('endid', $retree) }
sub endid {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE endid");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "endid", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G[^\-\'\w]/)
}))) { ($C) } else { () }
}));
}
;
## token spacey { <?before <[ \s \# ]> > }
sub spacey__PEEK { $_[0]->_AUTOLEXpeek('spacey', $retree) }
sub spacey {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE spacey");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "spacey", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G[\s\#]/)
}))) { ($C) } else { () }
}));
}
;
## token keyspace { <!before '('> [ <?before <[ \s \# ]> > || <.panic: "Whitespace required after keywo
sub keyspace__PEEK { $_[0]->_AUTOLEXpeek('keyspace', $retree) }
sub keyspace {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE keyspace");
share/P6STD/boot/STD.pmc view on Meta::CPAN
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE sigil__S_038At");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\@";
$self->_MATCHIFYr($S, "sigil__S_038At", $C->_EXACT("\@"));
}
;
## token sigil:sym<%> { <sym> }
sub sigil__S_039Percent__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_039Percent', $retree) }
sub sigil__S_039Percent {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE sigil__S_039Percent");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\%";
$self->_MATCHIFYr($S, "sigil__S_039Percent", $C->_EXACT("\%"));
}
;
## token sigil:sym<&> { <sym> }
sub sigil__S_040Amp__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_040Amp', $retree) }
sub sigil__S_040Amp {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE sigil__S_040Amp");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\&";
$self->_MATCHIFYr($S, "sigil__S_040Amp", $C->_EXACT("\&"));
}
;
## token twigil:sym<.> { <sym> }
sub twigil__S_041Dot__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_041Dot', $retree) }
sub twigil__S_041Dot {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_041Dot");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\.";
$self->_MATCHIFYr($S, "twigil__S_041Dot", do {
my $C = $C;
if (($C) = ($C->_EXACT("\."))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<!> { <sym> }
sub twigil__S_042Bang__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_042Bang', $retree) }
sub twigil__S_042Bang {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_042Bang");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\!";
$self->_MATCHIFYr($S, "twigil__S_042Bang", do {
my $C = $C;
if (($C) = ($C->_EXACT("\!"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<^> { <sym> }
sub twigil__S_043Caret__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_043Caret', $retree) }
sub twigil__S_043Caret {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_043Caret");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\^";
$self->_MATCHIFYr($S, "twigil__S_043Caret", do {
my $C = $C;
if (($C) = ($C->_EXACT("\^"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<:> { <sym> }
sub twigil__S_044Colon__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_044Colon', $retree) }
sub twigil__S_044Colon {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_044Colon");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\:";
$self->_MATCHIFYr($S, "twigil__S_044Colon", do {
my $C = $C;
if (($C) = ($C->_EXACT("\:"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<*> { <sym> }
sub twigil__S_045Star__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_045Star', $retree) }
sub twigil__S_045Star {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_045Star");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\*";
$self->_MATCHIFYr($S, "twigil__S_045Star", do {
my $C = $C;
if (($C) = ($C->_EXACT("\*"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<?> { <sym> }
sub twigil__S_046Question__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_046Question', $retree) }
sub twigil__S_046Question {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_046Question");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\?";
$self->_MATCHIFYr($S, "twigil__S_046Question", do {
my $C = $C;
if (($C) = ($C->_EXACT("\?"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<=> { <sym> }
sub twigil__S_047Equal__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_047Equal', $retree) }
sub twigil__S_047Equal {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_047Equal");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\=";
$self->_MATCHIFYr($S, "twigil__S_047Equal", do {
my $C = $C;
if (($C) = ($C->_EXACT("\="))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token twigil:sym<~> { <sym> }
sub twigil__S_048Tilde__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_048Tilde', $retree) }
sub twigil__S_048Tilde {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE twigil__S_048Tilde");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\~";
$self->_MATCHIFYr($S, "twigil__S_048Tilde", do {
my $C = $C;
if (($C) = ($C->_EXACT("\~"))
and ($C) = ($C->begid)) {
$C
} else { () }
});
}
;
## token stopper { <!> }
sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) }
sub stopper {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE stopper");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "stopper", $C->_NOTBEFORE(sub {
my $C=shift;
$C
}));
}
;
## regex liststopper {
sub liststopper__PEEK { $_[0]->_AUTOLEXpeek('liststopper', $retree) }
sub liststopper {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE liststopper");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFY($S, "liststopper", $C->_BRACKET(sub {
my $C=shift;
do {
my ($tag, $try);
my @try;
my $relex;
my $fate;
my $x;
if ($fate = $C->{'_fate'} and $fate->[1] eq 'liststopper_0') {
$C->deb("Fate passed to liststopper_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT liststopper_0'; # some outer ltm is controlling us
}
else {
$x = 'ALTLTM liststopper_0'; # we are top level ltm
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
( run in 0.629 second using v1.01-cache-2.11-cpan-5735350b133 )